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
Maxime Coste
63f467081a
Prompt: use entered text as prefix for history search
2012-09-04 13:48:04 +02:00
Maxime Coste
11d5ae2743
add override markers
2012-09-04 00:17:41 +02:00
Maxime Coste
0e6ced9176
cleanup cpp.kak
2012-09-04 00:08:01 +02:00
Maxime Coste
2e339e92bb
Allow arrow keys in prompt mode
2012-09-04 00:07:13 +02:00
Maxime Coste
d530a2d864
Support # comments in commands
2012-09-04 00:04:49 +02:00
Maxime Coste
57b89099ec
Client::MenuMode wrap through options with j/k Ctrl-n/Ctrl-p and tab
2012-09-04 00:02:50 +02:00
Maxime Coste
c4dd6b4038
Client::MenuMode map tab as SelectNext
2012-09-03 23:55:11 +02:00
Maxime Coste
69bebdb44e
fix open line above for first line and add a unit test
2012-09-03 23:46:04 +02:00
Maxime Coste
c61f9cbe6b
Add MenuCommand::SelectNone and use it when tab completions goes back to original string
2012-09-03 19:34:10 +02:00
Maxime Coste
c2a4f68899
NCurses: Fix menu display
2012-09-03 19:20:41 +02:00
Maxime Coste
b08d8719e6
move input handling, including menu and prompt, to the Client class
2012-09-03 14:22:02 +02:00
Maxime Coste
d5f5f0989d
fix control key parsing
2012-09-03 19:21:11 +02:00
Maxime Coste
96a50e9b7d
NCurses: use menu for tab completion
2012-08-31 14:14:16 +02:00
Maxime Coste
51e80558d9
Change client menu api to give more control to the caller
2012-08-30 21:53:22 +02:00
Maxime Coste
1ca502d23d
More useable menu implementation on ncurses
2012-08-30 21:14:28 +02:00
Maxime Coste
78d4675c24
git.kak: tweak highlighting
2012-08-30 18:56:05 +02:00
Maxime Coste
f1d8d0add8
escape whitespaces in filename or buffername completions
2012-08-29 21:52:17 +02:00
Maxime Coste
2825bc3d7b
Fix escaped whitespace handling in command manager
2012-08-29 21:50:48 +02:00
Maxime Coste
bbce6b22a3
remove regex.hh, define Regex directly in string.hh
2012-08-29 21:49:36 +02:00
Maxime Coste
8febec0bcf
add_hook: do not construct a regex again and again
2012-08-29 14:15:13 +02:00
Maxime Coste
8263adf8c8
make.kak: fix highlighting
2012-08-29 14:13:59 +02:00
Maxime Coste
1fc05c8bb0
make.kak: fix parameter passing
2012-08-29 14:03:55 +02:00
Maxime Coste
2b8c636377
use fifo buffers for grep and make command
2012-08-29 00:35:45 +02:00
Maxime Coste
db98bcc278
Add an -fifo option to the 'edit' command
...
In -fifo mode, the buffer's file is used as a fifo, writes are tracked
and udpated in the buffer. This should be useful for grep and make
commands.
2012-08-29 00:17:37 +02:00
Maxime Coste
00d32fd392
main: EventManager should be destroyed after the Buffers
2012-08-29 00:11:16 +02:00
Maxime Coste
2d82e2a2c6
fix ShellManager, avoid zombie childs when grand childs detaches themselves
2012-08-29 00:08:39 +02:00
Maxime Coste
ab47b72dc8
add a poll based EventManager and use it for ncurse client update
2012-08-28 22:32:15 +02:00
Maxime Coste
d5dc5dff7f
ncurses: refresh at end of draw_window
2012-08-28 22:31:06 +02:00
Maxime Coste
4cdddb7e6d
BufferManager: protect complete_buffername from regex_error
2012-08-28 21:46:49 +02:00
Maxime Coste
217b3d2bce
fix compilation on OSX
2012-07-30 14:12:49 +02:00
Maxime Coste
1833cb4dcf
use a separate context for kakrc execution
2012-08-28 14:10:44 +02:00
Maxime Coste
db1e2f2d86
fix complete_filename
2012-08-28 14:10:05 +02:00
Maxime Coste
96c6adad78
IncrementalInserter: Fix avoid_eol behavior
2012-08-27 14:26:16 +02:00
Maxime Coste
350b578eb5
grep.kak: do not quote params
2012-08-23 23:56:35 +02:00
Maxime Coste
e4fd839dda
use a strongly typed int CharCount for character counts
2012-08-23 23:56:35 +02:00
Maxime Coste
0d8cce2728
use a strongly typed int LineCount for line counts
2012-08-22 23:33:52 +02:00
Maxime Coste
c6e8080426
do_go: some cleanups
2012-08-21 20:58:10 +02:00
Maxime Coste
3f471c138a
RegexColorizer: fix last buffer line highlighting
2012-08-21 20:53:23 +02:00
Maxime Coste
0eaf39b725
Add Buffer::iterator_at_line{begin,end}(size_t line) overloads
2012-08-21 20:52:49 +02:00
Maxime Coste
05098a373a
edit command: when a line is specified ask the window to center it
2012-08-21 20:08:57 +02:00
Maxime Coste
26313a3f68
bind <a-c> to window::center_selection
2012-08-21 20:06:35 +02:00
Maxime Coste
c9a7cf50f3
add Window::center_selection method
2012-08-21 20:05:56 +02:00
Maxime Coste
45b9ac6087
fix parse_keys for <a-key>
2012-08-21 20:03:18 +02:00
Maxime Coste
1515566e4b
Allow context with client and non-window editor
2012-08-17 20:18:36 +02:00
Maxime Coste
7cc5ff7c73
fix create_buffer_from_file when file does not exists
2012-08-17 18:52:04 +02:00
Maxime Coste
8a6e8cd898
RegexColorizer: Fix range computation
2012-08-17 18:42:07 +02:00
Maxime Coste
b6460aaec7
make.kak: style fix
2012-08-17 18:41:40 +02:00
Maxime Coste
4b93a90047
grep.kak: use perl regex syntax and quote parameters
2012-08-17 12:39:57 +02:00
Maxime Coste
c1fcc593a1
Store the current client in context
2012-08-15 22:36:45 +02:00
Maxime Coste
a2aefa2998
avoid keeping end of lines selected in Editor::erase
2012-08-15 18:20:02 +02:00
Maxime Coste
416785f53c
Add BufferIterator::clamp(bool avoid_eol) method
2012-08-15 18:18:12 +02:00
Maxime Coste
390d4ccdfc
Buffer::{iterator_at,clamp} takes an optional avoid_eol parameter
...
when avoid_eol is true, clamping does avoid end-of-line if possible
2012-08-15 18:06:59 +02:00
Maxime Coste
260b30e6d9
misc cleanups
2012-08-15 17:55:58 +02:00
Maxime Coste
346108ec62
CommandManager::parse: fix invalid memory read
2012-08-15 17:34:01 +02:00
Maxime Coste
99eaa259e6
Context: do not store buffer, ask editor for it
2012-08-15 17:32:46 +02:00
Maxime Coste
9e3323bf68
RegexColorizer only cache a range instead of the whole buffer
2012-08-15 17:24:08 +02:00
Maxime Coste
6e70b805df
colorize_regex become RegexColorizer and maintain a cache of matches
2012-08-15 17:08:48 +02:00
Maxime Coste
5393e9e78b
Buffer: add a timestamp
2012-08-15 17:07:53 +02:00
Maxime Coste
14475e91cb
rc/grep.kak: style fix
2012-08-14 14:27:32 +02:00
Maxime Coste
e00c811712
complete_buffername try regex matching when prefix matching does not work
2012-08-14 14:26:36 +02:00
Maxime Coste
b630189ce5
Add a writeall (wa) command
2012-08-14 14:20:18 +02:00
Maxime Coste
4e34f777b0
Buffer: stronger invariant, a buffer is never empty and all lines finish by '\n'
2012-08-14 14:13:10 +02:00
Maxime Coste
b37f8f470a
use new reg access syntax in rc files
2012-08-11 12:14:17 +02:00
Maxime Coste
0a976cd309
CommandManager: support %reg{<reg>} and %opt{<option>} syntax
2012-08-11 12:13:48 +02:00
Maxime Coste
808e79a53e
commands: code cleanup
2012-08-11 11:48:54 +02:00
Maxime Coste
759319ca44
Buffer: move back Modification as an implementation detail
...
* Filters now only works on insertion and take directly the
iterator and content
* use Buffer::insert and Buffer::erase to modify a buffer
2012-08-10 19:12:43 +02:00
Maxime Coste
44621bff11
detect byte order mark in buffers, and write back
2012-08-10 18:48:21 +02:00
Maxime Coste
7d3675fe33
make.kak: quote echo parameter in errjump
2012-08-10 18:47:54 +02:00
Maxime Coste
20655f9290
ShellManager: fix option regex, allow caps
2012-08-10 18:47:18 +02:00
Maxime Coste
d81a100a85
support crlf line ending when reading and writing buffers
2012-08-10 14:24:13 +02:00
Maxime Coste
54b599c1a7
Buffer: fix corner case in insert
2012-08-10 14:22:57 +02:00
Maxime Coste
c7fc2a9317
Buffer: add reset_undo_data method
2012-08-10 14:21:32 +02:00
Maxime Coste
e5c46d7c45
Window,Buffer: add const overload for {option,hook}_manager
2012-08-10 14:21:01 +02:00
Maxime Coste
a30b3e1343
highlight_range: handle empty ranges
2012-08-10 14:20:15 +02:00
Maxime Coste
f59dd77f60
add rc/asciidoc.kak for asciidoc highlighting
2012-08-08 19:38:27 +02:00
Maxime Coste
1eb2b8321b
make.kak: errjump also display the error description in the status line
2012-08-08 19:37:32 +02:00
Maxime Coste
691a6328b1
exec_keys: use the context editor, no need for a new one
2012-08-08 19:37:04 +02:00
Maxime Coste
ce99856bfa
Refactor BufferManager
2012-08-08 19:36:40 +02:00