Maxime Coste
e01a658cea
Make use of strongly typed number to size_t conversion
2016-04-27 09:46:53 +01:00
Maxime Coste
717e37f2f3
Add checked, explicit conversion from strongly typed number for size_t
2016-04-27 09:46:53 +01:00
Maxime Coste
21644d17d6
Fix comparison operators in utf8_iterator and tag it as bidirectional
2016-04-27 09:46:53 +01:00
Maxime Coste
e4b9e30b31
Fix missing include in json_ui.cc
2016-04-21 20:46:41 +01:00
Maxime Coste
de033d2915
Allow equality comparison between buffer iterators from differnt buffers
2016-04-21 20:42:23 +01:00
Maxime Coste
a22b1b6bc8
Fix BufferIterator::difference_type, it should be signed
2016-04-21 20:42:16 +01:00
Maxime Coste
66a40a37cd
prompt: zero password memory after running the command to be slightly more secure
2016-04-20 13:31:34 +01:00
Maxime Coste
199ccb4021
Add a -password switch to :prompt to allow for more secure password entering
...
Fixes #660
2016-04-19 09:51:09 +01:00
Maxime Coste
2435949fae
Add support for env var name completion
...
Fixes #659
2016-04-17 19:21:43 +01:00
Maxime Coste
e784db4ad6
Use common completion system for OptionManager::complete_option_name
2016-04-17 19:21:08 +01:00
Maxime Coste
013519b3cb
Remove iterator based regex constructor
2016-04-16 21:41:04 +01:00
Maxime Coste
f877c388fe
Fix mistake in input_handler.cc
2016-04-13 23:50:49 +01:00
Maxime Coste
7833b53272
Fix support for macro being recorded and replay during :exec (non draft)
2016-04-13 21:21:49 +01:00
Maxime Coste
b0060ed79e
Fix modified range computation when erasing multiple times past current buffer end
...
Fixes #654
2016-04-13 21:21:00 +01:00
Maxime Coste
d1b693270e
ShellManager: do not open child stdin if there is no data to write to it
...
Fixes #383
2016-04-12 13:41:21 +01:00
Maxime Coste
a2d426abba
Use padding face on the whole line
2016-04-11 21:12:27 +01:00
Maxime Coste
064e965500
Remove padding control options from ncurses ui
2016-04-11 13:54:47 +01:00
Maxime Coste
815924e4da
Merge remote-tracking branch 'lenormf/buffer-padding'
2016-04-11 13:44:10 +01:00
Maxime Coste
d4b1138e2f
Use a specific startup_error exception type to get a nicer message
...
Fixes #424
2016-04-09 09:13:35 +01:00
Maxime Coste
c51ca6b3fa
Fix is_word ambiguous overload
2016-04-09 07:57:55 +01:00
Maxime Coste
c768ff9b6f
Small style tweak, we know buffer begin coord is always {0,0}
2016-04-09 01:08:38 +01:00
Maxime Coste
a12475d88c
Merge branch 'expose-cursor-byte-offset' of git://github.com/pauldub/kakoune
2016-04-09 01:05:18 +01:00
Maxime Coste
0a863c21e4
fix word completion taking the words being edited as candidates
2016-04-09 01:03:24 +01:00
Maxime Coste
a36ee22760
Pass the selection list to insert mode completer functions
2016-04-09 01:03:24 +01:00
Paul d'Hubert
eb8ad56c87
expose cursor_byte_offset env variable
...
Update README.asciidoc
2016-04-08 13:29:31 +02:00
Maxime Coste
3eca90f2b1
Only offer directories when completing :cd arguments
...
Refactor code in file.cc, avoid many double stat when searching
commands
Fixes #646
2016-04-07 22:47:41 +01:00
Maxime Coste
989d64abd4
Tweak RankedMatch behaviour
2016-04-04 13:42:58 +01:00
Maxime Coste
0478a8f11a
Give priority to lower case in RankedMatch
2016-04-04 13:42:58 +01:00
Maxime Coste
ab5daeb365
Refactor wrap_lines and add some unit tests
2016-04-04 13:42:58 +01:00
Maxime Coste
15e82518d3
Tweak categorize(Codepoint) implementation
2016-04-04 13:42:58 +01:00
Maxime Coste
b5a68307ba
Use a specific option type completions for insert completion
...
Fix escaping in jedi.kak as well
2016-04-04 13:42:58 +01:00
Maxime Coste
d1732673ce
Document the null register
2016-03-31 09:21:09 +01:00
Maxime Coste
8badcdc0d5
Make DynamicRegister statically dispatch to its function
2016-03-31 09:17:02 +01:00
Maxime Coste
9b4bd611ef
Replace menu and info when they actually moved
...
Previous logic worked only when the buffer moved in the window, but
not if some highlighter (like line numbering or flag lines) moved
the text around.
2016-03-30 19:46:43 +01:00
Maxime Coste
5332378419
Fix spaces_to_tabs implementation accessing past end
...
Fixes #643
2016-03-30 19:27:36 +01:00
Maxime Coste
7dd05d675c
RankedMatch constructor handles empty query just fine
2016-03-29 13:48:01 +01:00
Maxime Coste
94f4531bc8
Tweak subsequence_match_smart_case
2016-03-28 15:18:15 +01:00
Maxime Coste
2a9875bd58
Use manual lexicographic comparison in RankedMatch::operator<
2016-03-28 14:44:49 +01:00
Maxime Coste
75e9bbfa43
Uniquify candidates in -shell-candidates mode
2016-03-28 14:16:45 +01:00
Maxime Coste
1bd356473b
Use UsedLetters for shell-candidates filtering
2016-03-25 20:38:27 +00:00
Maxime Coste
c756f8f124
Move UsedLetters with RankedMatch
2016-03-25 20:38:27 +00:00
Maxime Coste
d3ef2d36ea
Add a SplitView container view
2016-03-25 20:38:26 +00:00
Maxime Coste
87704227ad
Tweak implementation of subsequence_match_smart_case
...
Remove use of utf8 iterators and use directly utf8 functions
2016-03-24 23:45:56 +00:00
Maxime Coste
e5afacba70
Optimize split implementation, avoid growing strings char by char
2016-03-24 23:25:58 +00:00
Maxime Coste
7b52b00b94
Small code tweak
2016-03-24 22:15:11 +00:00
Maxime Coste
50a64a0544
Correctly handle temporaries in container views
...
Move temporaries into the view itself and keep a reference on
non temporaries
2016-03-24 22:14:18 +00:00
Maxime Coste
ccb53eca42
Fix uninitialized value in RankedMatch
2016-03-24 22:04:56 +00:00
Maxime Coste
840b7658fd
Add an alternative -shell-candidates shell completion support
...
-shell-candidates use a shell script that returns all the candidates
and then sort them using Kakoune ranked matches system instead of
delegating the whole completion to the shell script (as shell-completion does)
2016-03-24 14:01:59 +00:00
Maxime Coste
b0d72ebce0
Support getting back to original prefix with tab/shift-tab in prompts
...
Fixes #124
2016-03-24 13:39:27 +00:00
Maxime Coste
b02883a112
Remove forced redraw in ncurses ui
2016-03-24 13:19:36 +00:00
Maxime Coste
1d646c03f5
Add completion support for alias/unalias commands
2016-03-24 00:05:40 +00:00
Maxime Coste
abd5afe012
Support mosue event in key_to_str
2016-03-23 13:39:52 +00:00
Maxime Coste
5bf9243006
User mappings and :exec are always executed in normal mode
...
Fix #551
2016-03-22 22:54:29 +00:00
Maxime Coste
38f146d849
Fix another bug in Buffer::replace implementation
2016-03-17 12:38:09 +00:00
Maxime Coste
d277ef6d6c
Slight code tweaks in normal mode pipe function
2016-03-17 12:08:11 +00:00
Maxime Coste
c6ca3af9b4
Fix bug introduced in Buffer::do_insert
2016-03-17 12:07:20 +00:00
Maxime Coste
55ee6f970e
Write the hook parameter in the debug buffer on error in hook
2016-03-17 11:45:22 +00:00
Maxime Coste
131b0a8298
Use ByteCoords directly for buffer insert/erase/replace
2016-03-16 13:59:30 +00:00
Maxime Coste
ad5da15cfa
Use replace in Buffer unit test
2016-03-16 13:52:39 +00:00
Maxime Coste
de1433d30a
Avoid the spurious newline insertion when replacing at end of buffer
...
Add a Buffer::replace method to handle the replacements properly
Fixes #633
2016-03-16 13:48:11 +00:00
Maxime Coste
c5b24e2a8a
More cleanups in Buffer::do_insert
2016-03-16 13:22:11 +00:00
Maxime Coste
338462e94f
Refactor Buffer::do_insert
2016-03-15 23:37:18 +00:00
Maxime Coste
d2dfb9ecb1
Slight cleanup in Buffer::do_insert
2016-03-15 23:15:57 +00:00
Maxime Coste
5fe2872904
Reset line editor display pos when the text is reset
2016-03-15 13:55:01 +00:00
Maxime Coste
e82c3410a5
Redisplay prompt on Prompt mode enabled
...
Fixes #603
2016-03-15 13:51:47 +00:00
Maxime Coste
6739c5047e
Support an optional column param with the +<line>[:<column>] syntax
2016-03-15 13:21:28 +00:00
Maxime Coste
b014093c97
Quit on SIGINT when using a DummyUI
2016-03-15 00:24:42 +00:00
Maxime Coste
dca9bccc6a
Disable key mapping handling when executing a user mapping
...
Fixes #629
2016-03-14 20:58:55 +00:00
Maxime Coste
b53f1271a2
Support ~/ in insert mode filename completion
2016-03-14 13:59:54 +00:00
Maxime Coste
7ecd65e1af
Code cleanups
2016-03-14 13:41:20 +00:00
Maxime Coste
3a699c8ac3
Include tweak
2016-03-14 13:41:20 +00:00
Maxime Coste
06c1c5f28b
Do not include the debug buffer in word completion
2016-03-12 16:44:55 +00:00
Maxime Coste
92f96f9455
Change custom object syntax, use a single prompt
...
Take a description of the object, in <open>,<close> format
2016-03-11 00:14:42 +00:00
Maxime Coste
428b18c0c1
Formatting fix
2016-03-11 00:09:13 +00:00
Robert J. Ennis
7f648bcd06
Update Makefile for OSX build with homebrew ncurses
...
This adds compilation flags to include the homebrew installed ncurses 6.0 library during compilation.
2016-03-10 15:07:50 +01:00
Maxime Coste
517abf5e74
Redisplay info when menu appears so that info adapts its position
2016-03-09 23:28:23 +00:00
Maxime Coste
99ca7ead37
Only select a completion when the menu was visible (or its the only one)
2016-03-09 23:24:20 +00:00
Maxime Coste
90d446b2f4
It can happen during an undo/redo that the buffer be temporarily empty
...
Fix is_end in that case.
2016-03-09 23:16:14 +00:00
Maxime Coste
84a1796a48
Try to please gcc 4.8 with parenthesis instead of curly braces
2016-03-08 23:36:54 +00:00
Maxime Coste
eea75c6daf
Add missing curly braces in containers helpers
2016-03-08 23:22:32 +00:00
Maxime Coste
9e15181dc9
Rework container helpers, use pipe syntax and cleanup implementation
...
use 'container | filter(func) | reverse() | transform(func)' instead
of 'transform(reverse(filter(container), func), func)' to express
container transformations.
2016-03-08 21:35:56 +00:00
Maxime Coste
21ae662151
Use ranked match based completion for command names
2016-03-08 13:56:37 +00:00
Maxime Coste
3cbc0d0b39
Force redraw everything, not just refresh
2016-03-08 13:42:00 +00:00
Maxime Coste
23f52d591c
Support parsing booleans in json
2016-03-08 00:28:53 +00:00
Maxime Coste
6f78c7f910
Fix handling of bool when writing json
2016-03-07 23:14:28 +00:00
Maxime Coste
6c8f8fe691
Rework client redrawing, delay menu/info methods until next refresh
...
That avoid sending lots of spurious info_hide/menu_hide, just set
a flag and wait until the client is asked to redraw.
2016-03-07 23:11:59 +00:00
Maxime Coste
a15cdeae6e
Fix json escaping of strings
2016-03-07 22:38:37 +00:00
Maxime Coste
2626ce858f
Move <c-l> handling to normal mode from client
...
Client handling prevents :exec from triggering a redraw
2016-03-07 22:14:03 +00:00
Maxime Coste
4d4f18a78a
Select ui at launch through the -ui <ui_name> switch
2016-03-07 21:44:50 +00:00
Maxime Coste
f1fb2114da
Handle <c-l> redrawing on the server side
...
That way we can force a redraw at any moment, including during
batch execution.
2016-03-07 21:44:50 +00:00
Maxime Coste
b832a61193
Cleanup JsonUI and add support for a resize method
2016-03-07 21:44:50 +00:00
Maxime Coste
433940485f
Initial, WIP json ui implementation
...
The JsonUI writes json rpc user interface commands on stdout and
reads json rpc requests on stdin.
2016-03-07 21:44:50 +00:00
Maxime Coste
52525a156f
Remove complete_prefix option and behaviour
...
Now that we use subsequence based completion almost everywhere,
completing the common prefix does not make sense anymore.
2016-03-07 20:17:41 +00:00
Maxime Coste
cdbd81523a
Fix Value constructor, we never want to create reference values
2016-03-06 15:12:36 +00:00
Maxime Coste
fb2fb3811f
Tweak useage of skip_while and move the functions in utils.hh
2016-03-06 15:12:36 +00:00
Maxime Coste
72b6340b35
Only call UserInterface::refresh when the UI has been modified
2016-03-06 15:12:36 +00:00
Maxime Coste
134be9a1f6
Just write to stderr when exceptions are uncaught
2016-03-03 14:05:07 +00:00
Maxime Coste
b5b5b82c70
destroy buffer manager first but clear clients before destroying buffers.
...
Fixes #612
2016-03-03 14:05:07 +00:00
Maxime Coste
67849f2db7
BufferManager should outlive ClientManager in the end
...
If not, clients end up keeping references on a buffer while
it it being deleted.
2016-03-02 20:27:47 +00:00
Maxime Coste
2df7b1f6da
In buffer name completion, give priority to filename (not dirname) matches
...
First list filename matches, then full path matches to allow fast selection
of buffers in deep hierarchies where queries match the path of every buffers
2016-03-02 13:51:50 +00:00