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