Commit Graph

1131 Commits

Author SHA1 Message Date
Maxime Coste
0b45a725e4 move remoting code to remote.cc
ClientAccepter is now Server's implementation detail and all socket logic
are isolated in remote.cc
2013-03-14 10:23:35 +01:00
Maxime Coste
b309d1df61 move complete_filename to file.cc 2013-03-13 19:39:38 +01:00
Maxime Coste
de536b80cd goto file uses the 'path' string-list option instead of hard coded paths 2013-03-13 18:52:55 +01:00
Maxime Coste
4069f42845 find_file: automatically add missing '/' and end of paths 2013-03-13 18:52:08 +01:00
Maxime Coste
17f7607a30 write_buffer: consider buffer as saved only if we used it's filename 2013-03-13 18:51:36 +01:00
Maxime Coste
0f957b3743 Editor: fix replace at end of buffer 2013-03-13 14:37:03 +01:00
Maxime Coste
c1db67e31a Buffer: minor refactoring 2013-03-13 14:36:10 +01:00
Maxime Coste
8acb25d9a4 ctags: use - instead of _ in command name 2013-03-12 19:51:08 +01:00
Maxime Coste
09e30c40e3 BufferCompleter: watch 'completions' option, and update completions when it changes 2013-03-12 19:23:41 +01:00
Maxime Coste
2440a7e82e NCurses: hook redraw on c-l 2013-03-12 18:57:12 +01:00
Maxime Coste
e428a9757f Modify network protocol to allow commands through the socket 2013-03-12 18:53:18 +01:00
Maxime Coste
17b861d78e NCurses: handle empty items in menu_show 2013-03-11 14:20:28 +01:00
Maxime Coste
ddc894ccfe Add an experimental configurable input completion fonction
The completions option (a std::vector<String>) is used for
completions candidates, if it's first element matches the current
cursor position and buffer timestamp.
2013-03-11 14:20:28 +01:00
Maxime Coste
4db6e3e917 add kak_timestamp env var to access current buffer timestamp 2013-03-11 14:20:28 +01:00
Maxime Coste
8cc9a44d47 minor cleanups in complete_word 2013-03-11 14:20:28 +01:00
Maxime Coste
eab2cc240a InputHandler: complete_word knows best when not to complete 2013-03-09 13:23:47 +01:00
Maxime Coste
89ba8535e2 InputHandler: extract word completion algorithm 2013-03-08 18:43:14 +01:00
Maxime Coste
cfafe203e2 NCurses: fix redrawing when info or menu is hidden 2013-03-08 18:42:43 +01:00
Maxime Coste
1e8a109d0d Use some builtins colors aliases instead of hardcoded values for highlighters 2013-03-06 20:33:20 +01:00
Maxime Coste
e4240448b1 colalias: always override 2013-03-06 20:30:02 +01:00
Maxime Coste
f677d4ba32 Use a ColorPair in DisplayAtoms instead of separate fg/bg colors 2013-03-06 20:28:02 +01:00
Maxime Coste
594ee65949 do not redraw the whole screen each time 2013-03-06 19:07:10 +01:00
Maxime Coste
a10bfed9e5 ncurses: fix unicode handling in status line 2013-03-06 19:03:58 +01:00
Maxime Coste
5ff22d44be Add utf8_iterator::advance(CharCount, utf8_iterator end) 2013-03-06 19:03:43 +01:00
Maxime Coste
4712765e8a Add FlagLines highlighter
This highlighter show a given flag in front of each lines whose number
is present in a given int-list option
2013-03-06 14:27:33 +01:00
Maxime Coste
fb7234544e HighlightersFactories takes back a Window parameter 2013-03-06 14:27:33 +01:00
Maxime Coste
558f32d2d5 throw a runtime error when a wrong type is requested for an option 2013-03-06 14:27:33 +01:00
Maxime Coste
0e2ba188dc Add support for int list options, specified using a comma seperated list of int 2013-03-06 14:27:00 +01:00
Maxime Coste
3e7344fb14 remove commented line in ncurses.cc 2013-03-05 19:35:40 +01:00
Maxime Coste
ca1d957829 fix ignored_files default value 2013-03-05 19:35:40 +01:00
Maxime Coste
e5dc850274 log to debug when make_regex_ifp catch a regex_error 2013-03-05 19:35:39 +01:00
Maxime Coste
0c4eb7a861 simplify how string -> option conversion are written, free functions instead of template specialization 2013-03-05 19:35:39 +01:00
Maxime Coste
09cf5acb23 Add support for boolean options 2013-03-05 19:03:42 +01:00
Maxime Coste
fac222a427 Strongly typed options support
* non builtins options require declaration using the decl command

* At the moment, only int and string options are supported, however
the goal of this change is to provide a consistent way to support
more complex options, namely lists and booleans
2013-03-05 18:49:26 +01:00
Maxime Coste
a36befd653 Use colors instead of underline to highlight selections 2013-03-01 19:31:14 +01:00
Maxime Coste
d23694e31f Do not use a factory for window builtins highlighters
This helps cleanup up the code, as factories no longer takes
a window as parameter.
2013-03-01 19:15:05 +01:00
Maxime Coste
8ef79c41bd show_line_numbers does not need a window 2013-03-01 14:30:30 +01:00
Maxime Coste
6b812d9f6c Window: segregate builtins highlighters from the others 2013-03-01 14:29:59 +01:00
Maxime Coste
6318f2268f assistant: no need for raw strings 2013-03-01 14:29:28 +01:00
Maxime Coste
3a60e633a4 safe_ptr have no overhead when KAK_DEBUG is not defined 2013-02-28 18:54:15 +01:00
Maxime Coste
298926a16e Editor::multi_select: reserve some vector space in advance 2013-02-28 18:51:58 +01:00
Maxime Coste
161e32e137 fix warning 2013-02-28 18:51:24 +01:00
Maxime Coste
849f225e70 use a 16K buffer when reading from fifo 2013-02-28 18:51:11 +01:00
Maxime Coste
26826b981d grep: highlight columns when present 2013-02-27 23:50:57 +01:00
Maxime Coste
9f9ad58b39 utf8::dump uses a copy of the output iterator instead of a reference 2013-02-27 23:50:33 +01:00
Maxime Coste
8e07e00f18 ShellManager: remove unneeded end of lines when writing stderr 2013-02-27 21:31:48 +01:00
Maxime Coste
72531f2df0 string: remove unneeded headers 2013-02-27 21:26:12 +01:00
Maxime Coste
9ea11394bc reorganize keymap 2013-02-27 21:21:11 +01:00
Maxime Coste
771241ad97 use 'Q' for replay macro 2013-02-27 21:13:06 +01:00
Maxime Coste
4ad8941563 Editor: fix move_selection(LineCount) when current column is after next line end 2013-02-27 21:09:48 +01:00
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