Commit Graph

751 Commits

Author SHA1 Message Date
Maxime Coste
2cdebe01d3 fix make tags 2012-10-10 22:44:06 +02:00
Maxime Coste
8de754e2e9 when executing keys, propagate potentially changed editor to calling context 2012-10-10 19:15:43 +02:00
Maxime Coste
dae8f65308 exec concat all its arguments instead of accepting only one 2012-10-10 19:15:09 +02:00
Maxime Coste
ffba94fcde Actually return something in utf8::codepoint, thanks gcc for using rax 2012-10-10 19:14:18 +02:00
Maxime Coste
a04d1e3a1f Editor merge selections when they overlap 2012-10-10 19:11:24 +02:00
Maxime Coste
5bb37ad755 Support Append mode for Editor::select and use it for 'N' key 2012-10-10 13:59:55 +02:00
Maxime Coste
4c8b4890e6 Context: explicit constructors and more comments 2012-10-10 13:59:55 +02:00
Maxime Coste
74cdeb5952 Paste use a linewise mode when pasted string ends with a \n 2012-10-10 13:59:55 +02:00
Maxime Coste
b48d639976 Editor::insert handle all InsertModes 2012-10-10 13:59:55 +02:00
Maxime Coste
d574ae864d Editor::insert takes an InsertMode param, remove Editor::{append,replace} 2012-10-09 19:25:20 +02:00
Maxime Coste
7a8366da2b add a unicode.hh header for Codepoint related functions, s/utf8::Codepoint/Codepoint/ 2012-10-09 19:15:05 +02:00
Maxime Coste
e1d4215159 InsertMode insert the whole utf8 representation of a codepoint 2012-10-09 14:31:00 +02:00
Maxime Coste
c0db3b81be NCursesUI::get_key returns the codepoint 2012-10-09 14:30:35 +02:00
Maxime Coste
ba50d853b3 Editor: fix move_selection(LineCount) for utf8 2012-10-09 14:29:59 +02:00
Maxime Coste
1af7465107 utf8: add dump(OutputIterator& it, Codepoint cp) 2012-10-09 14:29:37 +02:00
Maxime Coste
c7272e427d get rid of Character 2012-10-08 19:33:53 +02:00
Maxime Coste
194bf6ac98 Buffer: add some utf8 sanity checks 2012-10-08 19:25:17 +02:00
Maxime Coste
bff015d5b9 WordCompleter: avoid word currently being edited 2012-10-08 19:14:48 +02:00
Maxime Coste
0a686573ab utf8 awareness in selectors 2012-10-08 19:12:09 +02:00
Maxime Coste
ed592a3005 DisplayAtom: add utf8 sanity check 2012-10-08 14:28:54 +02:00
Maxime Coste
5602bc10e8 DisplayAtom: only let DisplayLine touch m_begin and m_end 2012-10-08 14:28:38 +02:00
Maxime Coste
7e046e3f0b utf8 awareness in editor, highlighters and ncurses 2012-10-08 14:27:43 +02:00
Maxime Coste
5a267ab627 selections should always point to an utf8 character sequence start byte 2012-10-08 14:26:57 +02:00
Maxime Coste
f2e98f700e add utf8_iterator for adapting byte iterators to iterate on unicode characters 2012-10-08 14:25:58 +02:00
Maxime Coste
2db1d02329 add utf8 helpers in utf8.hh 2012-10-08 14:25:05 +02:00
Maxime Coste
946b4650b6 fix postfix StronglyTypedInteger::operator{++,--} 2012-10-02 14:19:45 +02:00
Maxime Coste
514aeead63 do not use our broken safe bool, c++11 explicit bool conversion is better 2012-10-02 14:18:34 +02:00
Maxime Coste
9ae8f5e47b Editor::move_selection now either takes a LineCount or a CharCount 2012-10-02 14:10:00 +02:00
Maxime Coste
669d2e456f add postfix operator++ to BufferIterator 2012-10-02 14:09:06 +02:00
Maxime Coste
9ec10daf69 move clamp to utils.hh 2012-10-02 14:08:09 +02:00
Maxime Coste
84acf2594a grep,make: tweak mktemp call to work on OSX 2012-10-02 10:37:08 +02:00
Maxime Coste
081f579ba1 OSX compilation fixes 2012-10-02 10:36:28 +02:00
Maxime Coste
4b0ccb0437 String and BufferIterator value_type goes back to plain char 2012-10-01 20:20:08 +02:00
Maxime Coste
f2f3421637 cpp.kak: fix string highlighter 2012-10-01 14:24:32 +02:00
Maxime Coste
bd0805cf3e autoenable word completion while inserting 2012-10-01 14:23:04 +02:00
Maxime Coste
29b72b3e24 Add a word completing functionality to insert mode (wip) 2012-09-30 16:24:06 +02:00
Maxime Coste
430765e132 extract is_alpha to string.hh 2012-09-30 16:23:18 +02:00
Maxime Coste
801e3eaae2 Add a Window::display_position(const BufferIterator&) method 2012-09-30 16:22:03 +02:00
Maxime Coste
6cd5d80757 Add a length method to AtomContent 2012-09-30 16:21:20 +02:00
Maxime Coste
5b6cb500fc Menus can be placed anywhere on the screen, and takes a style parameter
This paves the way for insert mode completion menu using the current
prompt menu system.
2012-09-30 15:18:37 +02:00
Maxime Coste
f230feec7f Change buffer order based on the last one used 2012-09-28 14:14:49 +02:00
Maxime Coste
79d8d082bd Store capture groups with selections in editor, and access them through dynamic registers 2012-09-26 20:43:42 +02:00
Maxime Coste
a8d2482eb6 Editor now stores selections as SelectionAndCapturesList 2012-09-26 20:33:47 +02:00
Maxime Coste
a2fd1528e6 Move last insertion from Client to Context 2012-09-26 20:07:06 +02:00
Maxime Coste
77eb86bcdb Forbid context copy 2012-09-26 14:27:23 +02:00
Maxime Coste
efc069b531 Extract IncrementalInserter::Mode as InsertMode
move ClientMode classes in a namespace due to InsertMode name collisions
2012-09-26 14:22:24 +02:00
Maxime Coste
f76323f56e Move UserInterface out of Client into Context 2012-09-26 14:13:04 +02:00
Maxime Coste
c36ee924eb cleanup BatchUI 2012-09-25 14:23:50 +02:00
Maxime Coste
730f39aaa0 remove selection stack from editor 2012-09-24 20:47:06 +02:00
Maxime Coste
747c14c19f Hide more Client Mode code in the cpp 2012-09-24 19:39:40 +02:00
Maxime Coste
a312ce6dc2 extract Client virtual methods to a UserInterface class 2012-09-24 19:24:27 +02:00
Maxime Coste
0380c999c3 move Client::Mode class definition in client.cc 2012-09-24 14:03:04 +02:00
Maxime Coste
b3c4912404 Use context.editor() instead of context.window() when a window is not needed 2012-09-24 13:56:39 +02:00
Maxime Coste
e86e3bda4d select_all_matches: reject match that start at the end of originating selection 2012-09-19 14:04:09 +02:00
Maxime Coste
81eae79154 ncurses: fix displaying of lines longer than screen 2012-09-17 21:38:51 +02:00
Maxime Coste
b245b39a85 RegexColorizer: store ColorPairs by pointer so that alias changes are taken into account 2012-09-17 21:02:08 +02:00
Maxime Coste
a92a6dc7f3 ColorRegistry: permit overriding an alias 2012-09-17 21:01:11 +02:00
Maxime Coste
4d369d6290 kakrc: use color aliases for cpp and kakrc highlighting 2012-09-17 19:02:08 +02:00
Maxime Coste
5cf947f845 Add a ColorRegistry class responsible of color parsing and supporting aliases
colalias command permits to define names for color pairs
2012-09-17 19:01:13 +02:00
Maxime Coste
45bffd8b8a fix parse_keys for <esc> 2012-09-17 13:46:34 +02:00
Maxime Coste
00e357ed56 PromptMode: fix completion of non-last parameters 2012-09-17 13:37:08 +02:00
Maxime Coste
ebae75e96e fifo: buffer size is 4k instead of 512 2012-09-14 14:29:54 +02:00
Maxime Coste
f6d2533cae rework fifo handling, use real fifos in {make,grep}.kak, update README 2012-09-12 19:54:46 +02:00
Maxime Coste
a467d73115 use parse_filename when opening files or completing filenames so that ~ and env vars are handled 2012-09-12 19:42:12 +02:00
Maxime Coste
6f6f10c83d simplify tab completion code in Client::InsertMode 2012-09-12 19:09:27 +02:00
Maxime Coste
ec57990060 whine when a search selected nothing so that the user knows 2012-09-12 19:09:10 +02:00
Maxime Coste
cfbe32f6a2 support Tab/BackTab keys in MenuMode as well 2012-09-12 14:25:14 +02:00
Maxime Coste
7266052d46 grep command uses file completion 2012-09-12 14:22:01 +02:00
Maxime Coste
7c039585a4 add -file-completion option to def command and document in README 2012-09-12 14:21:42 +02:00
Maxime Coste
62e50c38fa commands.cc: cleanup 2012-09-11 19:09:55 +02:00
Maxime Coste
9dfccddca8 Correctly handle arrow keys in insert mode 2012-09-11 19:09:14 +02:00
Maxime Coste
e39086cd5f Buffer: reset undo data after executing hooks in constructor 2012-09-11 19:03:37 +02:00
Maxime Coste
a0b75817a5 do not keep undo data in the debug buffer 2012-09-11 19:03:13 +02:00
Maxime Coste
eac68f09a4 NCursesClient::show_menu: stop displaying counts in front of items 2012-09-11 14:30:32 +02:00
Maxime Coste
859e907396 fix NCursesClient::menu_select for one past last item 2012-09-11 14:28:54 +02:00
Maxime Coste
ee4c6b04a6 Support Shift-Tab in prompt mode to go back in completions 2012-09-11 14:27:21 +02:00
Maxime Coste
b5a2901f8d add 'r' for replacing selection with next typed char 2012-09-11 14:01:41 +02:00
Maxime Coste
f8a6045307 Load config file in ${XDG_CONFIG_HOME}/kak/kakrc and ${XDG_CONFIG_HOME}/kak/autload/*
Do not autoload files in $kak_runtime/rc, let the user choose
restore the runtime command implemented in shell this time.
2012-09-10 20:45:34 +02:00
Maxime Coste
82a2bb37e7 Remove runtime command, use shell expansion to source files in rc dir.
With the help of a new kak_runtime env var.
2012-09-10 20:10:18 +02:00
Maxime Coste
f9e31856cf Buffer: Allow inserting at the end when the inserted text ends with an end of line
Adapted other code in consequence and added unit tests so that this behavior
is maintained.
2012-09-10 19:26:17 +02:00
Maxime Coste
a37b14785f use -shell-params in rc files 2012-09-09 17:14:08 +02:00
Maxime Coste
ae76b7dddc Add support for shell script parameters
Now %sh{ ... } can access positional parameters through
standard shell construct, allowing simple handling of variable
parameters.

def command accepts -shell-params flag to use this facility.
2012-09-09 17:10:53 +02:00
Maxime Coste
46565723b1 Add support for page up and page down 2012-09-07 21:09:23 +02:00
Maxime Coste
499bb77491 Cleanup Key handling, use symbolic names for function keys 2012-09-07 20:22:19 +02:00
Maxime Coste
287628ec19 Editor::{select,move_cursor} takes a enum SelectMode parameter instead of a boolean 2012-09-07 14:29:29 +02:00
Maxime Coste
1e18dcba0f fix Client::repeat_last_insert when no last insert 2012-09-07 14:28:27 +02:00
Maxime Coste
4e356a6312 kakrc.kak: fix comments highlighting 2012-09-06 14:30:09 +02:00
Maxime Coste
96beaf50dd ShellManager: output stderr in the debug buffer 2012-09-06 14:28:07 +02:00
Maxime Coste
ddd5236b08 cpp.kak: smarter alt command 2012-09-06 13:38:51 +02:00
Maxime Coste
41b0751a5d tweak make output highlighting 2012-09-06 13:35:36 +02:00
Maxime Coste
16e1c2daf9 simplify menu api 2012-09-05 19:02:06 +02:00
Maxime Coste
11d86ca3f3 fix Selection::merge_with 2012-09-05 14:27:48 +02:00
Maxime Coste
bf42d77469 Handle inserting in Client::InsertMode 2012-09-05 14:27:14 +02:00
Maxime Coste
d4446d1525 Client: fix history search 2012-09-05 00:52:09 +02:00
Maxime Coste
5c4df507c4 ncurses: colorize the menu 2012-09-05 00:49:59 +02:00
Maxime Coste
3f64c36654 fix NCursesClient::show_menu with big menu entries 2012-09-05 00:37:09 +02:00
Maxime Coste
bdaa083c88 Factor select to next char commands using Client::on_next_key 2012-09-05 00:30:59 +02:00
Maxime Coste
737ee8af24 use on_next_key in do_go and do_select_object 2012-09-05 00:21:42 +02:00
Maxime Coste
b23425764e Add client::on_next_key method to run some code when the next key arrives 2012-09-05 00:21:19 +02:00
Maxime Coste
aac30a27e7 use more constexpr 2012-09-04 23:54:10 +02:00