From 97af93b2a8ebc89364852e3f63e9fd8cfedaeedf Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Mon, 9 Jun 2025 13:43:45 +0300 Subject: =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D1=91=D0=BB=20dotfiles?= =?UTF-8?q?=20=D0=BD=D0=B0=20stow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zsh/theme/gitstatus/src/logging.h | 124 -------------------------------------- 1 file changed, 124 deletions(-) delete mode 100644 zsh/theme/gitstatus/src/logging.h (limited to 'zsh/theme/gitstatus/src/logging.h') diff --git a/zsh/theme/gitstatus/src/logging.h b/zsh/theme/gitstatus/src/logging.h deleted file mode 100644 index 6ddb2e1..0000000 --- a/zsh/theme/gitstatus/src/logging.h +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2019 Roman Perepelitsa. -// -// This file is part of GitStatus. -// -// GitStatus is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// GitStatus is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with GitStatus. If not, see . - -#ifndef ROMKATV_GITSTATUS_LOGGING_H_ -#define ROMKATV_GITSTATUS_LOGGING_H_ - -#include -#include -#include -#include - -#define LOG(severity) LOG_I(severity) - -#define LOG_I(severity) \ - (::gitstatus::severity < ::gitstatus::g_min_log_level) \ - ? static_cast(0) \ - : ::gitstatus::internal_logging::Assignable() = \ - ::gitstatus::internal_logging::LogStream<::gitstatus::severity>(__FILE__, __LINE__, \ - ::gitstatus::severity) \ - .ref() - -namespace gitstatus { - -enum LogLevel { - DEBUG, - INFO, - WARN, - ERROR, - FATAL, -}; - -const char* LogLevelStr(LogLevel lvl); -bool ParseLogLevel(const char* s, LogLevel& lvl); - -extern LogLevel g_min_log_level; - -namespace internal_logging { - -struct Assignable { - template - void operator=(const T&) const {} -}; - -class LogStreamBase { - public: - LogStreamBase(const char* file, int line, LogLevel lvl); - - LogStreamBase& ref() { return *this; } - std::ostream& strm() { return *strm_; } - int stashed_errno() const { return errno_; } - - protected: - void Flush(); - - private: - int errno_; - const char* file_; - int line_; - const char* lvl_; - std::unique_ptr strm_; -}; - -template -class LogStream : public LogStreamBase { - public: - using LogStreamBase::LogStreamBase; - ~LogStream() { this->Flush(); } -}; - -template <> -class LogStream : public LogStreamBase { - public: - using LogStreamBase::LogStreamBase; - ~LogStream() __attribute__((noreturn)) { - this->Flush(); - std::abort(); - } -}; - -template -LogStreamBase& operator<<(LogStreamBase& strm, const T& val) { - strm.strm() << val; - return strm; -} - -inline LogStreamBase& operator<<(LogStreamBase& strm, std::ostream& (*manip)(std::ostream&)) { - strm.strm() << manip; - return strm; -} - -struct Errno { - int err; -}; - -std::ostream& operator<<(std::ostream& strm, Errno e); - -struct StashedErrno {}; - -inline LogStreamBase& operator<<(LogStreamBase& strm, StashedErrno) { - return strm << Errno{strm.stashed_errno()}; -} - -} // namespace internal_logging - -inline internal_logging::Errno Errno(int err) { return {err}; } -inline internal_logging::StashedErrno Errno() { return {}; } - -} // namespace gitstatus - -#endif // ROMKATV_GITSTATUS_LOGGING_H_ -- cgit v1.2.3