Maxime Coste
|
8606fdae5d
|
NCurses: go back to non ncursesw/ headers
|
2013-02-27 21:05:17 +01:00 |
|
Maxime Coste
|
43bc8314fb
|
ParameterParser: refactoring, simplify
|
2013-02-27 20:51:44 +01:00 |
|
Maxime Coste
|
09901d455e
|
Add 'gf' (goto file) functionality
|
2013-02-27 19:58:38 +01:00 |
|
Maxime Coste
|
99475f93d9
|
String: add rbegin/rend methods
|
2013-02-27 19:58:24 +01:00 |
|
Maxime Coste
|
f82a2e22a1
|
Containers utils: use Container&& in order to accept temporaries
|
2013-02-27 19:58:07 +01:00 |
|
Maxime Coste
|
2f410f62e4
|
Add String Range::content() const
|
2013-02-27 19:11:25 +01:00 |
|
Maxime Coste
|
9230667c11
|
Add " and ' support to object selection
|
2013-02-27 19:08:13 +01:00 |
|
Maxime Coste
|
be0c5ddf49
|
minor performance tweaks
|
2013-02-27 19:03:33 +01:00 |
|
Maxime Coste
|
cd8c36fc50
|
Add a debug option to Makefile, and use KAK_DEBUG define to remove debug code
|
2013-02-27 19:02:01 +01:00 |
|
Maxime Coste
|
6f48407f55
|
Use current locale
|
2013-02-27 19:01:07 +01:00 |
|
Maxime Coste
|
2854984c79
|
use std::isalnum for is_word implementation in order to support unicode
|
2013-02-26 18:54:11 +01:00 |
|
Maxime Coste
|
b68cc3cd3c
|
NCurses: fix unneeded last line when displaying info box
|
2013-02-26 18:53:29 +01:00 |
|
Maxime Coste
|
0f413607c2
|
Fix utf8 handling when moving selection up/down
|
2013-02-26 18:52:49 +01:00 |
|
Maxime Coste
|
3d19111570
|
Use unicode box drawing character for the assistant
|
2013-02-26 14:28:42 +01:00 |
|
Maxime Coste
|
ffc5a4a334
|
Add a String(Codepoint, CharCount) constructor
|
2013-02-26 14:28:20 +01:00 |
|
Maxime Coste
|
2726d11108
|
handle SIGFPE, SIGQUIT and SIGTERM as well as SIGSEGV
|
2013-02-26 14:13:37 +01:00 |
|
Maxime Coste
|
6d4552e7d8
|
Add an expand_unprintable highlighter which replaces unprintable char with U+XXXX
|
2013-02-26 14:12:21 +01:00 |
|
Maxime Coste
|
c343407465
|
Fix utf8 handling in Editor::insert when replacing
|
2013-02-26 14:06:25 +01:00 |
|
Maxime Coste
|
7865223587
|
Add utf8::character_start function
|
2013-02-26 14:05:51 +01:00 |
|
Maxime Coste
|
9b3bc8523b
|
Use ncursesw in order to get correct utf8 handling
|
2013-02-26 14:05:16 +01:00 |
|
Maxime Coste
|
dc7227b983
|
Add the most important missing feature of Kakoune
|
2013-02-25 19:38:20 +01:00 |
|
Maxime Coste
|
dc8803e41b
|
String: use a CharCount instead of a size_t in String(char, CharCount)
|
2013-02-25 19:25:32 +01:00 |
|
Maxime Coste
|
8f3d2ae089
|
main: catch all exceptions
|
2013-02-22 18:45:59 +01:00 |
|
Maxime Coste
|
77dc9955d3
|
Paste: use count for repetition
|
2013-02-22 18:45:27 +01:00 |
|
Maxime Coste
|
4b11f73f1e
|
buffer: remove too slow check from check_invariant
|
2013-02-22 18:38:53 +01:00 |
|
Maxime Coste
|
5c74f98757
|
Use S for regex splitting, and alt-s for line splitting
|
2013-02-22 18:37:34 +01:00 |
|
Maxime Coste
|
5f446d9aec
|
try to merge selections when begining incremental insertion
|
2013-02-21 18:44:17 +01:00 |
|
Maxime Coste
|
d647e817a4
|
grep,make: bind normal mode return to jump
|
2013-02-21 13:39:31 +01:00 |
|
Maxime Coste
|
efc0a8bc07
|
grep,make: support specifying client with toolsclient option
When toolsclient option is set, make and grep opens their buffer
in the specified client instead of the current one.
|
2013-02-21 13:38:12 +01:00 |
|
Maxime Coste
|
901d5ea1be
|
Add mail.kak for mail file highlighting
|
2013-02-21 13:36:25 +01:00 |
|
Maxime Coste
|
cf01f0ed7a
|
Avoid recursive macro calls
|
2013-02-21 13:35:20 +01:00 |
|
Maxime Coste
|
9306a89deb
|
Fix macro recording on the same register, replace instead of appending.
|
2013-02-21 13:34:34 +01:00 |
|
Maxime Coste
|
6573f16dd9
|
Buffer: commit current undo group before attempting to undo anything
|
2013-02-20 14:23:52 +01:00 |
|
Maxime Coste
|
9f4498e035
|
Buffer: replace {begin,end}_undo_group with a single commit_undo_group method
|
2013-02-20 14:20:16 +01:00 |
|
Maxime Coste
|
682e4faff0
|
select and split operations use the search pattern register
|
2013-02-20 14:04:46 +01:00 |
|
Maxime Coste
|
02b01e2f0a
|
ShellManager: catch exception thrown by env var functors
|
2013-02-19 19:06:13 +01:00 |
|
Maxime Coste
|
a83731c8e1
|
search: fix empty search string, use previous pattern
|
2013-02-19 19:05:13 +01:00 |
|
Maxime Coste
|
c451dd07c6
|
InputHandler: do not put empty lines in history
|
2013-02-19 19:04:36 +01:00 |
|
Maxime Coste
|
18aac3d4e8
|
Add '*' binding, which (smart) copy current selection to search pattern
|
2013-02-19 19:04:09 +01:00 |
|
Maxime Coste
|
a453ddaf37
|
Add support for Home/End key in prompts
|
2013-02-19 13:50:27 +01:00 |
|
Maxime Coste
|
b08749285e
|
move status line generation code to client manager
|
2013-02-18 19:03:39 +01:00 |
|
Maxime Coste
|
b43fdc7eb6
|
Add macro recording/replay support
|
2013-02-18 18:58:07 +01:00 |
|
Maxime Coste
|
577734dae7
|
expose exec_keys function in commands.hh
|
2013-02-18 18:57:08 +01:00 |
|
Maxime Coste
|
9936ace0db
|
input_handler: ask dimensions to ui instead of window
|
2013-02-18 14:13:52 +01:00 |
|
Maxime Coste
|
fc2dd599a3
|
Move last insert state from context to input handler
|
2013-02-18 14:07:30 +01:00 |
|
Maxime Coste
|
0e081a76c1
|
make keymap definition more readable using a select helper function
|
2013-02-18 14:01:24 +01:00 |
|
Maxime Coste
|
67971995f8
|
Fix class/struct mismatches
|
2013-02-18 14:00:43 +01:00 |
|
Maxime Coste
|
bd5955c737
|
grep: remove enventual \r
|
2013-02-13 14:32:30 +01:00 |
|
Maxime Coste
|
4eea0a4ce1
|
Window: try to show as much of the selection as possible
|
2013-02-12 19:01:25 +01:00 |
|
Maxime Coste
|
cb26948ad3
|
ClientManager: move the Client inner class detail in the cpp file
|
2013-02-07 19:25:42 +01:00 |
|
Maxime Coste
|
32e6184210
|
context_wrap: create a DynamicSelectionList only when needed
|
2013-02-07 19:25:07 +01:00 |
|
Maxime Coste
|
2f9041b842
|
Editor: fix warning
|
2013-02-07 13:37:22 +01:00 |
|
Maxime Coste
|
6c7d646d35
|
exec keys: push_jump if editor has changed
|
2013-02-07 13:35:21 +01:00 |
|
Maxime Coste
|
785abfbad5
|
ctags.kak: do not automatically enable info tooltips
|
2013-01-31 19:00:02 +01:00 |
|
Maxime Coste
|
1c301482d5
|
tweak buffer unit test
|
2013-01-31 18:59:23 +01:00 |
|
Maxime Coste
|
edef8e4e98
|
Remove Set and use unordered_set
|
2013-01-31 18:58:25 +01:00 |
|
Maxime Coste
|
7f02ef334f
|
add some tests for Key functions
|
2013-01-30 19:16:36 +01:00 |
|
Maxime Coste
|
bc63be3388
|
open_fifo uses fcntl for more portable CLOEXEC bit setting
|
2013-01-30 19:08:16 +01:00 |
|
Maxime Coste
|
45367bf447
|
ctags.kak: tweak auto info
|
2013-01-30 19:05:52 +01:00 |
|
Maxime Coste
|
c9b113fd5f
|
InputHandler: add some new hooks
|
2013-01-30 19:04:03 +01:00 |
|
Maxime Coste
|
de0f765498
|
Keys: add key_to_str function
|
2013-01-30 19:03:11 +01:00 |
|
Maxime Coste
|
045aa0c7ec
|
style fix
|
2013-01-30 00:27:22 +01:00 |
|
Maxime Coste
|
e278196e99
|
ctags: initial auto fonction documentation support
|
2013-01-30 00:24:10 +01:00 |
|
Maxime Coste
|
00a9cdfc90
|
Context: remove some unused code
|
2013-01-29 23:16:58 +01:00 |
|
Maxime Coste
|
8933109cc5
|
Context: fix unintialized m_input_handler
|
2013-01-29 19:13:39 +01:00 |
|
Maxime Coste
|
252f875926
|
fix sort_and_merge_overlapping
|
2013-01-29 19:05:40 +01:00 |
|
Maxime Coste
|
84ea452ed2
|
info command take a -anchor <pos> instead of -inline params
|
2013-01-29 18:56:14 +01:00 |
|
Maxime Coste
|
f8209e3b52
|
fix contains for empty containers
|
2013-01-29 18:55:32 +01:00 |
|
Maxime Coste
|
3171ab0c52
|
NCurses: fix multiline info
|
2013-01-29 14:24:42 +01:00 |
|
Maxime Coste
|
2235944e60
|
Add NormalIdle hook support
|
2013-01-29 13:58:19 +01:00 |
|
Maxime Coste
|
38a67e72bc
|
Do not pass a context to InputHandler methods
|
2013-01-29 13:49:01 +01:00 |
|
Maxime Coste
|
94bbf47cd4
|
InputHandler have it's own context
|
2013-01-28 13:48:34 +01:00 |
|
Maxime Coste
|
3d430e14c4
|
Buffer: small fix in apply_modification
|
2013-01-28 13:45:32 +01:00 |
|
Maxime Coste
|
54725ebcca
|
Buffer::do_insert: fix on_insert call when inserting at the end
|
2013-01-24 14:08:24 +01:00 |
|
Maxime Coste
|
28cb78bed1
|
Editor: refactor InsertMode::Replace
|
2013-01-23 18:58:43 +01:00 |
|
Maxime Coste
|
410067282a
|
Buffer: end is either one past last character, or one past last line
|
2013-01-23 18:52:42 +01:00 |
|
Maxime Coste
|
72cc61c987
|
add undo unit_test and fix Buffer
|
2013-01-23 14:39:33 +01:00 |
|
Maxime Coste
|
3404366b65
|
add more asserts
|
2013-01-23 14:39:33 +01:00 |
|
Maxime Coste
|
f14bc5e310
|
Buffer: small style fixes
|
2013-01-23 13:47:45 +01:00 |
|
Maxime Coste
|
9dbc6adcda
|
add a SIGSEGV handler
|
2013-01-23 13:46:18 +01:00 |
|
Maxime Coste
|
2f9e061252
|
assert: add some debug info in the message
|
2013-01-23 13:45:44 +01:00 |
|
Maxime Coste
|
4497767492
|
NCursesUI::get_key(): move getch_iterator as a local type
|
2013-01-22 14:29:16 +01:00 |
|
Maxime Coste
|
0c8832c42a
|
LineAndColumn::operator+= is not constexpr
|
2013-01-22 14:28:43 +01:00 |
|
Maxime Coste
|
1b53b92267
|
Buffer: check that newlines are at the end of lines
|
2013-01-22 14:28:15 +01:00 |
|
Maxime Coste
|
f7038980a0
|
Add kak_cursor_{line,column} env var
|
2013-01-21 13:58:54 +01:00 |
|
Maxime Coste
|
9002059c0d
|
Window: fix display position, count utf8 characters for column
|
2013-01-17 19:49:49 +01:00 |
|
Maxime Coste
|
f1b6108367
|
NCurses: use default background for '~'
|
2013-01-17 19:49:48 +01:00 |
|
Maxime Coste
|
9c2bbe218b
|
replace char: fix unicode handling
|
2013-01-17 19:49:48 +01:00 |
|
Maxime Coste
|
44ca4d23de
|
Fix sort_and_merge_overlapping
|
2013-01-17 19:49:48 +01:00 |
|
Maxime Coste
|
3f01f4bdf5
|
Add some documentation to InputHandler
|
2013-01-17 14:27:32 +01:00 |
|
Maxime Coste
|
d1f15123e4
|
InputHandler: minor code cleanup
|
2013-01-17 14:22:24 +01:00 |
|
Maxime Coste
|
edb5dbc56f
|
move {exec,eval}_string common code to a helper context_wrap function
|
2013-01-17 14:06:06 +01:00 |
|
Maxime Coste
|
c45838cc57
|
Move Insertion Hooks handing to the input handler
|
2013-01-17 13:58:57 +01:00 |
|
Maxime Coste
|
cedb0d18a3
|
exec and eval accepts a restore-selection parameter
|
2013-01-17 13:58:09 +01:00 |
|
Maxime Coste
|
621be2ceab
|
Hooks now takes a non-const context
|
2013-01-17 13:45:43 +01:00 |
|
Maxime Coste
|
bdc47ddef8
|
NCursesUI: redraw becomes a member
|
2013-01-15 14:16:45 +01:00 |
|
Maxime Coste
|
93cad94330
|
InputHandler: Insert mode calls 'InsertIdle' hook when idle
|
2013-01-15 14:15:12 +01:00 |
|
Maxime Coste
|
12ce590f18
|
Context: add a hooks method similar to the options one
|
2013-01-14 19:26:44 +01:00 |
|
Maxime Coste
|
a1998dac7a
|
InputHandler: use a timer for word completion instead of calling it at each insertion
|
2013-01-14 19:17:37 +01:00 |
|
Maxime Coste
|
90eeb7b8a7
|
EventManager: add support for timers
|
2013-01-14 19:07:38 +01:00 |
|
Maxime Coste
|
eaaf88db1d
|
rename StronglyTypedInteger to more accurate StronglyTypedNumber
|
2013-01-14 18:51:45 +01:00 |
|
Maxime Coste
|
3d00f398fe
|
NCurses: redraw after menu/info window is modified
|
2013-01-14 18:51:07 +01:00 |
|
Maxime Coste
|
310ec1f791
|
move input watching responsibility into UserInterface implementations
|
2013-01-14 18:50:17 +01:00 |
|
Maxime Coste
|
d2f0e2de66
|
RemoteClient owns the FDWatcher of it's socket
|
2013-01-11 18:44:02 +01:00 |
|
Maxime Coste
|
914ede7a82
|
Add and use a Set template class for recuring small sets
|
2013-01-11 14:28:13 +01:00 |
|
Maxime Coste
|
79d28e68dc
|
Refactor EventManager
Watching a file descriptor is now done using a FDWatcher object
|
2013-01-10 19:10:42 +01:00 |
|
Maxime Coste
|
bba7152063
|
Add backward search support (bound to alt-/)
|
2013-01-08 18:46:45 +01:00 |
|
Maxime Coste
|
f77509d498
|
add sh.kak for shell script highlighting
|
2013-01-08 14:01:22 +01:00 |
|
Maxime Coste
|
59941bcfa9
|
Make: fix userconfig target
|
2013-01-08 14:00:13 +01:00 |
|
Maxime Coste
|
3f7bf82cde
|
Support for selecting to surrounding object begin/end with [ and ]
|
2013-01-07 18:53:27 +01:00 |
|
Maxime Coste
|
8d4678a82e
|
Autoname client on creation, and access client name from shell with $kak_client
|
2013-01-07 13:59:09 +01:00 |
|
Maxime Coste
|
7acd4e3e6a
|
minor code cleanup
|
2013-01-06 21:58:02 +01:00 |
|
Maxime Coste
|
9efc32596b
|
make: use a makecmd option
|
2013-01-06 19:21:42 +01:00 |
|
Maxime Coste
|
f3640a2d03
|
alt-r rotates selections
|
2013-01-05 18:26:57 +01:00 |
|
Maxime Coste
|
4b649d386c
|
various code style fixes
|
2013-01-04 18:39:13 +01:00 |
|
Maxime Coste
|
5939eb219f
|
add client.kak providing 'new' command for opening a new client
Autodetect tmux, use tmux if we are in a tmux session, else fallback to
urxvt.
|
2013-01-04 18:31:37 +01:00 |
|
Maxime Coste
|
03d32c2e2d
|
tweak kakrc highlighting
|
2013-01-03 18:53:04 +01:00 |
|
Maxime Coste
|
08fd946c07
|
Add a nop command to avoid accidental shell output evaluation
|
2013-01-03 18:52:07 +01:00 |
|
Maxime Coste
|
f84e46f805
|
tweak errjump command
|
2013-01-03 18:47:51 +01:00 |
|
Maxime Coste
|
ae9aadb07d
|
Fix captures preservation in Editor
|
2013-01-03 18:47:02 +01:00 |
|
Maxime Coste
|
2195d59b49
|
refactoring selectors
|
2013-01-03 14:30:14 +01:00 |
|
Maxime Coste
|
4f6507b808
|
Highlight last selection differently
|
2013-01-03 14:01:34 +01:00 |
|
Maxime Coste
|
0045456f87
|
alt-n replace last selection with next match
|
2013-01-03 14:00:59 +01:00 |
|
Maxime Coste
|
02b9fcc3df
|
Editor: add a ReplaceLast select mode
|
2013-01-03 14:00:31 +01:00 |
|
Maxime Coste
|
9fb0129061
|
Editor: keep last selection as last when sorting
sort selections 'circularly', keeping the last one
at the end of the list.
|
2013-01-03 13:59:53 +01:00 |
|
Maxime Coste
|
a9d5f126a0
|
Editor: preserve captures accross movements
|
2013-01-02 13:49:02 +01:00 |
|
Maxime Coste
|
476363bf0d
|
Editor: cleanup check_invariants calls
|
2012-12-31 18:36:28 +01:00 |
|
Maxime Coste
|
074a21463b
|
add a current search highlighter
|
2012-12-31 14:37:11 +01:00 |
|
Maxime Coste
|
d5582b0df4
|
add incsearch option to choose if incremental search is enabled
|
2012-12-31 14:12:00 +01:00 |
|
Maxime Coste
|
76c3246642
|
Add Editor::select(const Selection&, SelectMode)
|
2012-12-31 14:06:20 +01:00 |
|
Maxime Coste
|
4e69ec078d
|
minor cleanup
|
2012-12-31 13:57:21 +01:00 |
|
Maxime Coste
|
18b35a3ab3
|
Editor: merge_overlapping -> sort_and_merge_overlapping
|
2012-12-31 13:56:52 +01:00 |
|
Maxime Coste
|
dc9635a247
|
Fix join on last line (it appended a trailing space)
|
2012-12-31 13:44:01 +01:00 |
|
Maxime Coste
|
fe363094cf
|
support count in search next, and only push jump in replace mode
|
2012-12-31 13:42:59 +01:00 |
|
Maxime Coste
|
2b2474b2d1
|
add a force mode to delete buffer (db!)
|
2012-12-28 14:07:35 +01:00 |
|
Maxime Coste
|
cb80ae139b
|
IncrementalInserter: fix append mode when on line end
|
2012-12-28 14:06:56 +01:00 |
|
Maxime Coste
|
28cf772deb
|
tweak window status line format
|
2012-12-28 13:53:00 +01:00 |
|
Maxime Coste
|
9531fd5915
|
Buffer loses the 'New' flag when written
|
2012-12-28 13:52:19 +01:00 |
|
Maxime Coste
|
d4f155cae7
|
new clients always takes last used buffer, support multiple file on command line
|
2012-12-28 13:51:14 +01:00 |
|
Maxime Coste
|
8f5be9bf91
|
BufferManager: registering buffers are front inserted
|
2012-12-28 13:50:02 +01:00 |
|
Maxime Coste
|
030df1c4be
|
IncrementalInserter: preserve captures
|
2012-12-27 19:11:42 +01:00 |
|
Maxime Coste
|
8bfb7da674
|
fix splitting with inverted selection
|
2012-12-27 18:56:06 +01:00 |
|
Maxime Coste
|
41979c91f4
|
Editor: when replacing, select inserted text
|
2012-12-27 18:54:52 +01:00 |
|
Maxime Coste
|
ac778c8aa2
|
select_matching: fix when matching is the first character
|
2012-12-27 13:41:45 +01:00 |
|
Maxime Coste
|
f3a7c76c4e
|
add a -n option prevent kakrc from being sourced
|
2012-12-19 18:57:10 +01:00 |
|
Maxime Coste
|
2ab9b474be
|
Client: catch errors when executing init commands
|
2012-12-19 18:56:47 +01:00 |
|
Maxime Coste
|
6c901e9152
|
Buffer: close undo group when saved
|
2012-12-19 18:56:20 +01:00 |
|
Maxime Coste
|
63d30a30d5
|
support -e switch for initial command to execute
|
2012-12-18 21:41:13 +01:00 |
|
Maxime Coste
|
26632726ad
|
Support initial command passing when a client is connecting
|
2012-12-18 21:20:36 +01:00 |
|
Maxime Coste
|
9ca69820ac
|
do_go: support append mode on go to top/bottom, ignore case
|
2012-12-18 19:12:24 +01:00 |
|