summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-11-12 21:27:07 +0000
committerMaxime Coste <frrrwww@gmail.com>2014-11-12 21:27:07 +0000
commit3a817e2f96a30faef03565c510f626ac73fd46ed (patch)
tree4be12e5689f919358a5e1735ac5c8dbf04945302 /src
parent58c1721564ea6b52929b189463fc9f54a4711d1d (diff)
Cleanup includes
Diffstat (limited to 'src')
-rw-r--r--src/alias_registry.hh1
-rw-r--r--src/buffer.hh3
-rw-r--r--src/client.hh2
-rw-r--r--src/color.cc2
-rw-r--r--src/color.hh2
-rw-r--r--src/debug.cc1
-rw-r--r--src/debug.hh4
-rw-r--r--src/display_buffer.cc38
-rw-r--r--src/display_buffer.hh41
-rw-r--r--src/env_vars.cc2
-rw-r--r--src/env_vars.hh4
-rw-r--r--src/file.cc1
-rw-r--r--src/file.hh4
-rw-r--r--src/hook_manager.hh1
-rw-r--r--src/keymap_manager.cc2
-rw-r--r--src/keymap_manager.hh3
-rw-r--r--src/keys.hh9
-rw-r--r--src/ncurses.cc1
-rw-r--r--src/ncurses.hh3
-rw-r--r--src/option_types.hh1
-rw-r--r--src/remote.hh8
-rw-r--r--src/shell_manager.hh5
-rw-r--r--src/string.hh2
-rw-r--r--src/user_interface.hh7
-rw-r--r--src/value.hh2
-rw-r--r--src/window.hh3
26 files changed, 88 insertions, 64 deletions
diff --git a/src/alias_registry.hh b/src/alias_registry.hh
index ae879eef..e2d4e271 100644
--- a/src/alias_registry.hh
+++ b/src/alias_registry.hh
@@ -1,7 +1,6 @@
#ifndef alias_registry_hh_INCLUDED
#define alias_registry_hh_INCLUDED
-#include "utils.hh"
#include "safe_ptr.hh"
#include "string.hh"
diff --git a/src/buffer.hh b/src/buffer.hh
index 4715ddc1..ebb3eed7 100644
--- a/src/buffer.hh
+++ b/src/buffer.hh
@@ -9,9 +9,6 @@
#include "value.hh"
#include <vector>
-#include <list>
-#include <memory>
-#include <unordered_set>
namespace Kakoune
{
diff --git a/src/client.hh b/src/client.hh
index 6da499a3..ebbc96e8 100644
--- a/src/client.hh
+++ b/src/client.hh
@@ -5,7 +5,6 @@
#include "env_vars.hh"
#include "input_handler.hh"
#include "safe_ptr.hh"
-#include "string.hh"
#include "utils.hh"
#include "option_manager.hh"
@@ -14,6 +13,7 @@ namespace Kakoune
class UserInterface;
class Window;
+class String;
class Client : public SafeCountable, public OptionManagerWatcher
{
diff --git a/src/color.cc b/src/color.cc
index d056fb25..8f1b01c1 100644
--- a/src/color.cc
+++ b/src/color.cc
@@ -3,6 +3,8 @@
#include "exception.hh"
#include "regex.hh"
+#include <cstdio>
+
namespace Kakoune
{
diff --git a/src/color.hh b/src/color.hh
index f6b3e842..1de59fcd 100644
--- a/src/color.hh
+++ b/src/color.hh
@@ -1,8 +1,6 @@
#ifndef color_hh_INCLUDED
#define color_hh_INCLUDED
-#include <utility>
-
namespace Kakoune
{
diff --git a/src/debug.cc b/src/debug.cc
index 6d865013..c59a9802 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -3,6 +3,7 @@
#include "assert.hh"
#include "buffer.hh"
#include "buffer_manager.hh"
+#include "string.hh"
namespace Kakoune
{
diff --git a/src/debug.hh b/src/debug.hh
index 26b94820..02e46708 100644
--- a/src/debug.hh
+++ b/src/debug.hh
@@ -1,11 +1,11 @@
#ifndef debug_hh_INCLUDED
#define debug_hh_INCLUDED
-#include "string.hh"
-
namespace Kakoune
{
+class StringView;
+
void write_debug(StringView str);
}
diff --git a/src/display_buffer.cc b/src/display_buffer.cc
index af8d15e4..a56fe612 100644
--- a/src/display_buffer.cc
+++ b/src/display_buffer.cc
@@ -1,10 +1,48 @@
#include "display_buffer.hh"
#include "assert.hh"
+#include "buffer.hh"
+#include "utf8.hh"
namespace Kakoune
{
+StringView DisplayAtom::content() const
+{
+ switch (m_type)
+ {
+ case BufferRange:
+ {
+ auto line = (*m_buffer)[m_begin.line];
+ if (m_begin.line == m_end.line)
+ return line.substr(m_begin.column, m_end.column - m_begin.column);
+ else if (m_begin.line+1 == m_end.line and m_end.column == 0)
+ return line.substr(m_begin.column);
+ break;
+ }
+ case Text:
+ case ReplacedBufferRange:
+ return m_text;
+ }
+ kak_assert(false);
+ return {};
+}
+
+CharCount DisplayAtom::length() const
+{
+ switch (m_type)
+ {
+ case BufferRange:
+ return utf8::distance(m_buffer->iterator_at(m_begin),
+ m_buffer->iterator_at(m_end));
+ case Text:
+ case ReplacedBufferRange:
+ return m_text.char_length();
+ }
+ kak_assert(false);
+ return 0;
+}
+
void DisplayAtom::trim_begin(CharCount count)
{
if (m_type == BufferRange)
diff --git a/src/display_buffer.hh b/src/display_buffer.hh
index 8ad01661..83ba7d6b 100644
--- a/src/display_buffer.hh
+++ b/src/display_buffer.hh
@@ -1,17 +1,17 @@
#ifndef display_buffer_hh_INCLUDED
#define display_buffer_hh_INCLUDED
-#include "buffer.hh"
#include "face.hh"
#include "coord.hh"
#include "string.hh"
-#include "utf8.hh"
#include <vector>
namespace Kakoune
{
+class Buffer;
+
struct DisplayAtom
{
public:
@@ -25,41 +25,8 @@ public:
: m_type(Text), m_text(std::move(str)), face(face)
{ check_invariant(); }
- StringView content() const
- {
- switch (m_type)
- {
- case BufferRange:
- {
- auto line = (*m_buffer)[m_begin.line];
- if (m_begin.line == m_end.line)
- return line.substr(m_begin.column, m_end.column - m_begin.column);
- else if (m_begin.line+1 == m_end.line and m_end.column == 0)
- return line.substr(m_begin.column);
- break;
- }
- case Text:
- case ReplacedBufferRange:
- return m_text;
- }
- kak_assert(false);
- return {};
- }
-
- CharCount length() const
- {
- switch (m_type)
- {
- case BufferRange:
- return utf8::distance(m_buffer->iterator_at(m_begin),
- m_buffer->iterator_at(m_end));
- case Text:
- case ReplacedBufferRange:
- return m_text.char_length();
- }
- kak_assert(false);
- return 0;
- }
+ StringView content() const;
+ CharCount length() const;
const ByteCoord& begin() const
{
diff --git a/src/env_vars.cc b/src/env_vars.cc
index 7a759399..f89fe7ff 100644
--- a/src/env_vars.cc
+++ b/src/env_vars.cc
@@ -1,5 +1,7 @@
#include "env_vars.hh"
+#include "string.hh"
+
extern char **environ;
namespace Kakoune
diff --git a/src/env_vars.hh b/src/env_vars.hh
index 087d51a7..89d3459e 100644
--- a/src/env_vars.hh
+++ b/src/env_vars.hh
@@ -1,13 +1,12 @@
#ifndef env_vars_hh_INCLUDED
#define env_vars_hh_INCLUDED
-#include "string.hh"
-
#include <unordered_map>
namespace Kakoune
{
+class String;
using EnvVarMap = std::unordered_map<String, String>;
EnvVarMap get_env_vars();
@@ -15,4 +14,3 @@ EnvVarMap get_env_vars();
}
#endif // env_vars_hh_INCLUDED
-
diff --git a/src/file.cc b/src/file.cc
index 19f2a764..472d3fb9 100644
--- a/src/file.cc
+++ b/src/file.cc
@@ -8,6 +8,7 @@
#include "debug.hh"
#include "unicode.hh"
#include "regex.hh"
+#include "string.hh"
#include <errno.h>
#include <sys/types.h>
diff --git a/src/file.hh b/src/file.hh
index 99bb3715..8cef4473 100644
--- a/src/file.hh
+++ b/src/file.hh
@@ -2,7 +2,6 @@
#define file_hh_INCLUDED
#include "exception.hh"
-#include "string.hh"
#include "regex.hh"
namespace Kakoune
@@ -23,6 +22,9 @@ struct file_not_found : file_access_error
};
class Buffer;
+template<typename T> class memoryview;
+class String;
+class StringView;
// parse ~/ and $env values in filename and returns the translated filename
String parse_filename(StringView filename);
diff --git a/src/hook_manager.hh b/src/hook_manager.hh
index 21aade05..93a67ef7 100644
--- a/src/hook_manager.hh
+++ b/src/hook_manager.hh
@@ -2,7 +2,6 @@
#define hook_manager_hh_INCLUDED
#include "id_map.hh"
-#include "utils.hh"
#include <unordered_map>
diff --git a/src/keymap_manager.cc b/src/keymap_manager.cc
index 71f936fd..0d376a1b 100644
--- a/src/keymap_manager.cc
+++ b/src/keymap_manager.cc
@@ -1,5 +1,7 @@
#include "keymap_manager.hh"
+#include "memoryview.hh"
+
namespace std
{
diff --git a/src/keymap_manager.hh b/src/keymap_manager.hh
index 6521f69c..b6b0bf52 100644
--- a/src/keymap_manager.hh
+++ b/src/keymap_manager.hh
@@ -5,6 +5,7 @@
#include "utils.hh"
#include <unordered_map>
+#include <vector>
namespace Kakoune
{
@@ -20,6 +21,8 @@ enum class KeymapMode : int
View,
};
+template<typename T> class memoryview;
+
class KeymapManager
{
public:
diff --git a/src/keys.hh b/src/keys.hh
index d579395d..3123f7cc 100644
--- a/src/keys.hh
+++ b/src/keys.hh
@@ -1,8 +1,8 @@
#ifndef keys_hh_INCLUDED
#define keys_hh_INCLUDED
-#include "string.hh"
#include "unicode.hh"
+#include "flags.hh"
#include <vector>
@@ -64,8 +64,13 @@ struct Key
{ return modifiers != other.modifiers or key != other.key; }
};
+template<> struct WithBitOps<Key::Modifiers> : std::true_type {};
+
using KeyList = std::vector<Key>;
+class String;
+class StringView;
+
KeyList parse_keys(StringView str);
String key_to_str(Key key);
@@ -79,7 +84,7 @@ namespace std
{
template<>
-struct hash<Kakoune::Key> : unary_function<const Kakoune::Key&, size_t>
+struct hash<Kakoune::Key>
{
size_t operator()(Kakoune::Key key) const
{
diff --git a/src/ncurses.cc b/src/ncurses.cc
index c479d66a..de72f320 100644
--- a/src/ncurses.cc
+++ b/src/ncurses.cc
@@ -2,6 +2,7 @@
#include "display_buffer.hh"
#include "event_manager.hh"
+#include "keys.hh"
#include "register_manager.hh"
#include "utf8_iterator.hh"
diff --git a/src/ncurses.hh b/src/ncurses.hh
index 3f59b05c..23d91f5c 100644
--- a/src/ncurses.hh
+++ b/src/ncurses.hh
@@ -1,8 +1,9 @@
#ifndef ncurses_hh_INCLUDED
#define ncurses_hh_INCLUDED
-#include "display_buffer.hh"
+#include "coord.hh"
#include "event_manager.hh"
+#include "face.hh"
#include "user_interface.hh"
namespace Kakoune
diff --git a/src/option_types.hh b/src/option_types.hh
index f7f372fb..b304f12b 100644
--- a/src/option_types.hh
+++ b/src/option_types.hh
@@ -5,6 +5,7 @@
#include "string.hh"
#include "units.hh"
#include "coord.hh"
+#include "memoryview.hh"
#include <tuple>
#include <vector>
diff --git a/src/remote.hh b/src/remote.hh
index 90aa14da..0d85cf81 100644
--- a/src/remote.hh
+++ b/src/remote.hh
@@ -1,9 +1,13 @@
#ifndef remote_hh_INCLUDED
#define remote_hh_INCLUDED
-#include "display_buffer.hh"
-#include "user_interface.hh"
+#include "coord.hh"
#include "env_vars.hh"
+#include "exception.hh"
+#include "user_interface.hh"
+#include "utils.hh"
+
+#include <memory>
namespace Kakoune
{
diff --git a/src/shell_manager.hh b/src/shell_manager.hh
index e2af4241..8b930777 100644
--- a/src/shell_manager.hh
+++ b/src/shell_manager.hh
@@ -1,7 +1,6 @@
#ifndef shell_manager_hh_INCLUDED
#define shell_manager_hh_INCLUDED
-#include "string.hh"
#include "regex.hh"
#include "utils.hh"
#include "env_vars.hh"
@@ -10,6 +9,10 @@ namespace Kakoune
{
class Context;
+template<typename T> class memoryview;
+class String;
+class StringView;
+
using EnvVarRetriever = std::function<String (StringView name, const Context&)>;
class ShellManager : public Singleton<ShellManager>
diff --git a/src/string.hh b/src/string.hh
index f7311d9d..55276d73 100644
--- a/src/string.hh
+++ b/src/string.hh
@@ -1,13 +1,13 @@
#ifndef string_hh_INCLUDED
#define string_hh_INCLUDED
-#include "memoryview.hh"
#include "units.hh"
#include "utf8.hh"
#include <string>
#include <climits>
#include <cstring>
+#include <vector>
namespace Kakoune
{
diff --git a/src/user_interface.hh b/src/user_interface.hh
index dc415967..43d10377 100644
--- a/src/user_interface.hh
+++ b/src/user_interface.hh
@@ -1,11 +1,9 @@
#ifndef user_interface_hh_INCLUDED
#define user_interface_hh_INCLUDED
-#include "color.hh"
-#include "keys.hh"
-#include "memoryview.hh"
#include "safe_ptr.hh"
+#include <functional>
#include <unordered_map>
namespace Kakoune
@@ -15,6 +13,9 @@ class String;
class DisplayBuffer;
class DisplayLine;
struct CharCoord;
+struct Face;
+struct Key;
+template<typename T> class memoryview;
enum class MenuStyle
{
diff --git a/src/value.hh b/src/value.hh
index bf051353..86bbfea2 100644
--- a/src/value.hh
+++ b/src/value.hh
@@ -67,7 +67,7 @@ private:
struct ValueId : public StronglyTypedNumber<ValueId, int>
{
- constexpr ValueId(int value = 0) : StronglyTypedNumber<ValueId>(value) {}
+ constexpr ValueId(int value = 0) : StronglyTypedNumber(value) {}
static ValueId get_free_id()
{
diff --git a/src/window.hh b/src/window.hh
index e2bb91b1..c5efdf27 100644
--- a/src/window.hh
+++ b/src/window.hh
@@ -1,10 +1,9 @@
#ifndef window_hh_INCLUDED
#define window_hh_INCLUDED
-#include "completion.hh"
#include "display_buffer.hh"
#include "highlighter_group.hh"
-#include "selection.hh"
+#include "option_manager.hh"
#include "safe_ptr.hh"
#include "scope.hh"