Maxime Coste
7cdeb3d7f7
simplify echo code, avoid trailing spaces
2015-01-17 22:55:48 +00:00
Maxime Coste
32319aca45
Add support for per type default memory domain
2015-01-16 13:58:21 +00:00
Maxime Coste
4fd92127c3
Add a no copy shared string constructor, used for map lookup, and intern words
2015-01-15 19:58:08 +00:00
Maxime Coste
bb915f0bc5
Fix filename completion
2015-01-15 19:26:38 +00:00
Maxime Coste
8eef019cf8
Do not store lines to word in word db, just keep the old lines alive
2015-01-15 19:26:38 +00:00
Maxime Coste
76d806e98d
Replace InternedStrings with SharedString, shared_ptr based
2015-01-15 19:26:38 +00:00
Maxime Coste
2a878d51fd
Even more memory tracking
2015-01-14 19:16:32 +00:00
Maxime Coste
442304bc1c
Add missing cast to void* in placement new
2015-01-14 00:01:20 +00:00
Maxime Coste
2415d3f63c
Add missing <new> include
2015-01-13 23:54:58 +00:00
Maxime Coste
1e3e0b01af
Fix compatibility with gcc 4.8
2015-01-13 22:56:51 +00:00
Maxime Coste
118a6e1a7c
Use uint32_t for interned strings slots
2015-01-13 13:58:11 +00:00
Maxime Coste
61619a4d4d
Style tweak in WordDB
2015-01-13 13:57:44 +00:00
Maxime Coste
0412487b0c
-rdynamic does not work on gcc 4.9 under cygwin
2015-01-13 13:50:16 +00:00
Maxime Coste
beb3390334
Add interned string stats in debug command
2015-01-13 13:48:16 +00:00
Maxime Coste
b9c4fc2d8c
Add size_t and float to_string overload, and _sv UDL
2015-01-13 13:47:46 +00:00
Maxime Coste
f440c31370
Add missing cstddef include for ptrdiff_t
2015-01-12 20:03:52 +00:00
Maxime Coste
c8d651a517
Protect use of mallinfo in #ifdef __GLIBC__ blocks
2015-01-12 19:55:58 +00:00
Maxime Coste
e8b8070536
refactor slighly memory domain handling
2015-01-12 19:48:51 +00:00
Maxime Coste
19797ae8d6
Fix flag line highlighting
2015-01-12 19:35:31 +00:00
Maxime Coste
da562e03a0
replace all std::vector with Vector
2015-01-12 13:58:41 +00:00
Maxime Coste
83d0813b0f
Yet more tracking
2015-01-12 13:45:44 +00:00
Maxime Coste
f1f10639a5
Compute tracked memory total as well
2015-01-12 13:32:30 +00:00
Maxime Coste
0bdf1778cb
Some more memory tracking
2015-01-12 13:32:14 +00:00
Maxime Coste
dedb16bc73
Track some more memory
2015-01-11 19:28:03 +00:00
Maxime Coste
9adb97ea28
Track buffer lines memory
2015-01-10 12:56:09 +00:00
Maxime Coste
9f9156a752
Track String memory allocations
2015-01-09 13:57:21 +00:00
Maxime Coste
e5b36f548b
Add missing include
2015-01-08 19:31:28 +00:00
Maxime Coste
9b30e7469a
Add initial memory domain allocation tracking support
2015-01-07 19:29:31 +00:00
Maxime Coste
de12fe1cc6
Add completion for debug command
2015-01-06 19:06:53 +00:00
Maxime Coste
295a97f2a6
Rename memoryview to ArrayView
2015-01-06 13:43:37 +00:00
Maxime Coste
8e92e0eebc
Go back to previous buffer name completion implementation
2015-01-05 19:33:33 +00:00
Maxime Coste
c279da14e3
Refactor write_debug to avoid empty first line in *debug* buffer
2015-01-05 09:38:51 +00:00
Maxime Coste
ca9baecd4c
Another stule tweak
2015-01-04 22:34:36 +00:00
Maxime Coste
23f30f6709
Small style tweak
2015-01-03 17:35:53 +00:00
Maxime Coste
019a91505f
Remove unneeded static String
2015-01-02 11:55:15 +00:00
Maxime Coste
15542c3357
minor style tweak
2015-01-01 12:09:30 +00:00
Maxime Coste
c698032ace
Style tweak
2014-12-31 13:09:35 +00:00
Maxime Coste
0493cf6d62
Use a struct rather than a std::pair for InternedString DataAndRefCount
2014-12-30 11:56:01 +00:00
Maxime Coste
d4a929b42e
Use a struct KeyAndName rather than a std::pair
2014-12-29 17:18:42 +00:00
Maxime Coste
955d1dea66
Small formatting fixes
2014-12-29 12:19:16 +00:00
Maxime Coste
8cc96ec36b
Add a join function for joining strings using a specific char
2014-12-28 11:16:51 +00:00
Maxime Coste
71bfe5498d
Refactor color functions
2014-12-27 12:09:28 +00:00
Maxime Coste
248c1bda02
Style tweak
2014-12-26 10:53:30 +00:00
Maxime Coste
33bde3e067
Minor code tweak in optional.hh
2014-12-25 10:59:06 +00:00
Maxime Coste
2e1c6eaff7
sort includes
2014-12-24 13:03:17 +00:00
Maxime Coste
2852e0fbe5
Remove trailing blank lines
2014-12-23 23:00:20 +00:00
Maxime Coste
b0fef1a962
Rename id_map to IdMap
2014-12-23 22:51:00 +00:00
Maxime Coste
fb611e2f62
Use an id_map directly for HighlighterRegistry rather than the FunctionRegistry class
2014-12-23 22:15:53 +00:00
Maxime Coste
c17fa7be14
Tweak id_map implementation
2014-12-23 22:15:25 +00:00
Maxime Coste
79de7ee717
Code refactoring in WordDB
2014-12-23 19:32:42 +00:00
Maxime Coste
ed54e102ee
Extract complete_buffer_name as a free function in commands.cc
2014-12-23 17:42:17 +00:00
Maxime Coste
ae602106e0
Remove prefix_complete, superseeded by complete
2014-12-23 17:39:12 +00:00
Maxime Coste
b6ff15aa75
Unify completion from container content logic
2014-12-23 13:54:09 +00:00
Maxime Coste
064fb81b8d
Move containers utils to containers.hh and add filtered/transformed utils
2014-12-23 13:40:26 +00:00
Maxime Coste
bf980eba04
Merge branch 'list_buffers'
2014-12-23 13:20:29 +00:00
Eike Plack
9f81093411
Expose buffer list to shell over $kak_buflist
2014-12-23 02:49:53 +01:00
Maxime Coste
ff1f4dcb5c
Minor cleanup
2014-12-22 20:08:53 +00:00
Maxime Coste
e911c86306
Remove useless code
2014-12-22 20:08:30 +00:00
Maxime Coste
7a7ad57871
Support absolute paths when completing commands
2014-12-21 17:08:33 +00:00
Maxime Coste
5b94b73152
Small code tweak
2014-12-20 18:40:17 +00:00
Maxime Coste
116ea7364a
Restore some special behaviours, I missed them in interactive mode.
2014-12-19 13:58:33 +00:00
Maxime Coste
c454cf1379
Avoid eol after undo/redo
2014-12-18 23:17:38 +00:00
Maxime Coste
eee2cb3a6e
Revert "Add support for BufInsert/BufErase hooks"
...
This is potentially quite slow, and not used, reintroduce
later if we have a use case for it.
This reverts commit 5f3a477277
.
2014-12-18 23:13:45 +00:00
Maxime Coste
1c8ee78d1a
Do not register timers for transient input handlers
2014-12-18 23:12:58 +00:00
Maxime Coste
4827ae0a53
Do not wait for the first event before drawing clients
2014-12-18 19:01:18 +00:00
Maxime Coste
5f3a477277
Add support for BufInsert/BufErase hooks
2014-12-17 13:56:45 +00:00
Maxime Coste
3b9f40fd58
Fix split selecting the buffer end
...
Fixes #241
2014-12-17 13:21:20 +00:00
Maxime Coste
e0c452adb6
Tweak keymap_manager style, fix missing move
2014-12-17 13:20:48 +00:00
Maxime Coste
ebecd60eb8
Rework hashing, use a more extensible framework similar to n3876 proposal
...
std::hash specialization is a pain to work with, stop using that, and
just specialize a 'size_t hash_value(const T&)' free function.
2014-12-16 18:57:19 +00:00
Maxime Coste
72bdb8faa9
Always use plain ncurses.h
2014-12-14 23:42:00 +00:00
Maxime Coste
fc4d77964e
Remove special case when appending at eol
2014-12-13 13:10:40 +00:00
Maxime Coste
a0b35bf590
Add support for user mappings, bound to comma
...
:map have a 'user' mode that is accessible through the comma key.
the mapping will get executed in normal mode.
2014-12-12 13:57:02 +00:00
Maxime Coste
801bd5245d
Avoid very long timeouts in event manager
2014-12-12 13:55:32 +00:00
Maxime Coste
9c1ca303ff
Change a-| to ignore output, and add ! and a-! for insert/append cmd output
2014-12-11 23:21:11 +00:00
Maxime Coste
c68c9abcac
Display the register we yanked to
2014-12-11 19:36:41 +00:00
Maxime Coste
2c4ed3a78c
Do not avoid eol on escape
2014-12-11 19:36:20 +00:00
Maxime Coste
7a10029c4f
Use algorithms in id_map rather than raw loops
2014-12-11 13:55:04 +00:00
Maxime Coste
35e7a67c6a
Do not sort results of WordDB, simplify code
2014-12-11 13:14:57 +00:00
Maxime Coste
f32ab5793e
Remove unneeded includes
2014-12-11 13:10:41 +00:00
Maxime Coste
e0cc59914e
Fix OSX compilation
2014-12-10 20:54:47 +00:00
Maxime Coste
319cfcda34
Get rid of uses of unordered_set, vector is just simpler and faster...
2014-12-09 21:59:47 +00:00
Maxime Coste
0a57fa0766
Rename ncurses.{cc,hh} to ncurses_ui.{cc,hh}
2014-12-09 13:57:21 +00:00
Maxime Coste
2f2752cd1d
Force inline StringView::{begin,end}
2014-12-09 13:56:05 +00:00
Maxime Coste
87d312b6d4
More string cleanups
2014-12-08 13:59:29 +00:00
Maxime Coste
9f4af93780
cleanup in string.hh
2014-12-08 13:46:07 +00:00
Maxime Coste
1a17d9c73f
const String& to StringView
2014-12-07 21:01:42 +00:00
Maxime Coste
d57be83522
Disable history writing when running hooks
2014-12-05 14:01:07 +00:00
Maxime Coste
1c5975835e
Consolidate constext disablable feature in a 'Disableable' helper
2014-12-05 13:47:09 +00:00
Maxime Coste
423030c9bd
Refactor (again) event handling, use proper infinite timeout
2014-12-04 20:01:34 +00:00
Maxime Coste
176358f6b7
Fix logic error in shell manager
2014-12-04 13:58:02 +00:00
Maxime Coste
a51dd737ea
Limit event handler timeout to 2 seconds
2014-12-03 19:55:53 +00:00
Maxime Coste
d437ae0ecf
Microsecond is 10^(-6)s, not 10^(-9)s
2014-12-03 18:57:33 +00:00
Maxime Coste
995c7b4634
Fix timeval field types
2014-12-03 14:02:46 +00:00
Maxime Coste
24519e645e
Revert "Handle SIGCHLD signals when piping"
...
This reverts commit 8208e75294
.
2014-12-03 13:57:04 +00:00
Maxime Coste
0517a19e6d
Use a select based event handling and fix deadlock
2014-12-03 13:56:02 +00:00
Maxime Coste
def4221ac7
Pass a BufferRange to highlighters, fix subregions
...
Regions highlighter can now correctly be applied to only subrange
of the buffer, fixing some corner cases in recursive regions.
2014-12-02 19:56:17 +00:00
Maxime Coste
8208e75294
Handle SIGCHLD signals when piping
2014-12-02 18:59:39 +00:00
Maxime Coste
4fbaee61c5
Change default PrimarySelection face to be white on blue
2014-12-01 13:06:26 +00:00
Maxime Coste
a3b3001d8f
Rework client pending key handling, fix insert/normal timers
2014-11-29 20:14:52 +00:00
Maxime Coste
77e2e8a31e
Support selecting yank/paste register with "
2014-11-28 13:58:36 +00:00
Maxime Coste
75fe9a76db
Fix compilation
2014-11-28 13:47:42 +00:00
Maxime Coste
7c87abe856
Process ctrl-c when not in urgent event mode as well
2014-11-28 13:30:58 +00:00
Maxime Coste
da9f688f37
Fix indent/deindent when multiple selections are on same line
2014-11-28 13:22:54 +00:00
Maxime Coste
6902301674
Fix bug in :debug command
2014-11-28 13:18:08 +00:00
Maxime Coste
4c7f6985f1
Add an 'options' debug command
2014-11-26 13:27:26 +00:00
Maxime Coste
49931fbf05
Separate events between normal and urgent ones
...
Run urgent ones while executing %sh blocks.
Fixes #236
2014-11-25 13:52:06 +00:00
Maxime Coste
0272da65c0
Style tweak
2014-11-24 13:49:41 +00:00
Maxime Coste
35b89d5b87
Display selection count in insert mode line
2014-11-24 13:26:42 +00:00
Maxime Coste
dfed7ed211
const String& to StringView
2014-11-23 19:49:59 +00:00
Maxime Coste
88def85d77
Do not merge overlapping selections in InputMode::Replace
...
Fixes #237
2014-11-22 21:20:29 +00:00
Maxime Coste
f56b6ed75b
Do not record keys that were not user generated
2014-11-21 19:00:34 +00:00
Maxime Coste
e8c8833211
Do not reset edition level to 0 on buffer change
...
Keep it as is, commit undo in current buffer, and we will commit it in
the new buffer when edition level gets back to 0.
2014-11-21 18:56:39 +00:00
Maxime Coste
5497064f9c
Fix missing include in assert.cc
2014-11-20 19:32:58 +00:00
Maxime Coste
bfbee3c71e
Fix info box placement when too wide
2014-11-20 18:45:27 +00:00
Maxime Coste
b5ccc8bc73
Improve line wrapping behaviour
2014-11-20 18:45:10 +00:00
Maxime Coste
04ecb2cc5a
Wrap info boxes text in ncurses display even in Inline menu style
2014-11-20 13:56:37 +00:00
Maxime Coste
a444cd1d60
Improve wrap_lines behaviour, split on punctiation as well
2014-11-20 13:55:07 +00:00
Maxime Coste
314d662c5f
Change wrap_lines to return StringViews, move it to string.cc
2014-11-20 13:15:11 +00:00
Maxime Coste
eb57d0a1d9
Refresh stdscr at startup to avoid flickering
2014-11-18 00:01:29 +00:00
Maxime Coste
6663d50d95
Tweak option completion behaviour
2014-11-17 20:15:54 +00:00
Maxime Coste
0c3acb74c2
Remove unneeded string copies
2014-11-17 19:38:30 +00:00
Maxime Coste
7619fcb198
option completion are valid until a modification is made before it
2014-11-17 13:53:59 +00:00
Maxime Coste
1bd2260fa5
Import std::begin/std::end so that container utils work correctly with non std containers
2014-11-17 13:51:21 +00:00
Maxime Coste
b43f0fb853
Yet more StringView params, less const String&
2014-11-16 20:55:36 +00:00
Maxime Coste
ece03c3599
More const String& to StringView
2014-11-15 18:45:56 +00:00
Maxime Coste
27b1e8944f
const String& to StringView
2014-11-14 22:40:51 +00:00
Maxime Coste
7064679c2a
small fix
2014-11-13 22:17:10 +00:00
Maxime Coste
3a817e2f96
Cleanup includes
2014-11-12 21:27:07 +00:00
Maxime Coste
58c1721564
Use general flags utility for Face Attribute
2014-11-12 20:31:56 +00:00
Maxime Coste
3f733569ed
Fix case where a context ends up locked in no-hooks mode
2014-11-12 20:31:12 +00:00
Maxime Coste
fab9c92006
change filter mode to make backup of files to .kak-bak and edit in place
...
Add a -q option to filter mode to be quiet about errors while applying
keys.
2014-11-11 23:40:07 +00:00
Maxime Coste
f6e9018bf0
Reduce idle timeout to 50 milliseconds
2014-11-11 23:32:52 +00:00
Maxime Coste
7bb7c1b922
Hide info box when closing insert completion menu
2014-11-11 23:31:06 +00:00
Maxime Coste
e8b0a98a78
Remove %rec{...} strings, now "..." strings expand their content
2014-11-11 13:53:57 +00:00
Maxime Coste
414cfabb8c
fix clang compilation
2014-11-11 13:47:51 +00:00
Maxime Coste
b2407d9dfa
Add ui_options option for UserInterface configuration
...
ui_options is a std::unordered_map<String, String> that gets
forwarded to the user interface. Add support ncurses_status_on_top.
2014-11-10 23:29:16 +00:00
Maxime Coste
d803333e73
Add support for unordered_map options
2014-11-10 23:24:02 +00:00
Maxime Coste
4235ab5249
Display status line on top in ncurses
2014-11-10 13:46:08 +00:00
Maxime Coste
7d4c9c2ccf
Support hinting if an inline info should be above or below the anchor
...
Used by ctags function info, we always want it *above* the opening
parenthesis so that it does not hide multi line parameter lists.
2014-11-10 13:37:17 +00:00
Maxime Coste
40d649f836
refactor parse_keys
2014-11-09 13:02:01 +00:00
Maxime Coste
766df0490c
small code simplification
2014-11-09 11:42:06 +00:00
Maxime Coste
88aa707b9c
For {Menu,Info}Style::Prompt, choose the anchor directly in ncurses code
2014-11-08 19:08:23 +00:00
Maxime Coste
e1fc2677e3
Add a MenuDoc style for info box, that will place it next to the menu
2014-11-08 18:01:55 +00:00
Maxime Coste
484fffc288
Initial support for insert completion docstring
2014-11-07 13:54:43 +00:00
Maxime Coste
fc66c7f92f
small style fix
2014-11-07 13:51:07 +00:00
Maxime Coste
5ef4dd84b9
Small refactoring in remote.cc
2014-11-06 13:54:18 +00:00
Maxime Coste
80b50cd737
Simplify RemoteClient creation code
2014-11-05 13:57:12 +00:00
Maxime Coste
a3b29b1f11
Fix potential alignment bug
2014-11-05 13:50:06 +00:00
Maxime Coste
4c3056a05e
Fix bug in insert completer deregistering
...
The context options might change, as the context might have a different
window/buffer from the one at creation. So we need to store the correct
option manager rather than ask the context for it.
2014-11-04 23:51:41 +00:00
Maxime Coste
c8ea2e78f9
Reuse existing buffer when creating a fifo one
...
That way, client having this buffer already visible wont switch to
another one due to previous buffer getting deleted
2014-11-04 23:51:22 +00:00