Commit Graph

3079 Commits

Author SHA1 Message Date
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
Maxime Coste
6d5900af16 Use RankedMatch for filename based completion (file and command completion) 2016-03-02 13:51:16 +00:00
Maxime Coste
1fd7e80f04 Rename prefix to query in complete helper function and tweak static_assert 2016-03-02 13:33:11 +00:00
Maxime Coste
761d316af6 Tweak RankedMatch ordering, give priority to prefix matches 2016-03-02 13:30:54 +00:00
Maxime Coste
72dc8e6774 Ensure ClientManager is always outliving the BufferManager 2016-03-02 13:30:11 +00:00
Maxime Coste
068ca08b4c Use the general code path for reload info box handling in Client 2016-03-02 13:14:21 +00:00
Maxime Coste
13d039c228 Ensure the BufferManager is destroyed first so that buffer hooks can access other managers
Fixes #612
2016-03-02 13:12:14 +00:00
Maxime Coste
7906704e3b Remove code that should not have been commited 2016-02-29 22:16:59 +00:00
Maxime Coste
2214421df5 Use a StringView in notify_fatal_error 2016-02-29 22:15:36 +00:00
Maxime Coste
92b56cbda0 Avoid a gcc warning in enum option_to_string impl 2016-02-29 20:15:23 +00:00
Maxime Coste
b0e12f2bcb Add <C-d> and <C-u> for scroll down/up half a page
Fixes #606
2016-02-29 14:00:09 +00:00
Maxime Coste
1138264a83 Notify when searching for next match wraps around buffer
Fixes #215
2016-02-29 13:50:18 +00:00
Maxime Coste
9b70346a00 Take subsequence matches index when sorting RankedMatch 2016-02-28 23:05:51 +00:00
Maxime Coste
548e10597c Code cleanup 2016-02-28 18:30:35 +00:00
Maxime Coste
3987463e75 Remove direct access to ui, go through client
Client can now update menu/info positions when the window move
around.
2016-02-27 17:23:13 +00:00
Maxime Coste
f0edf40543 Slight refactor in ncurses_ui, group info and menu data in structs 2016-02-27 17:22:31 +00:00
Maxime Coste
53821be7cc Tweak RankedMatch::operator< 2016-02-22 23:07:29 +00:00
Maxime Coste
ab20e2e5eb Merge remote-tracking branch 'lenormf/manpage' 2016-02-18 19:24:22 +00:00
Frank LENORMAND
d317448407 Disable interactive mode when moving documentation manpages 2016-02-18 14:53:14 +02:00
Maxime Coste
fbb326173a Tweak utils.hh, remove unused index sequence 2016-02-18 09:53:01 +00:00
Maxime Coste
47df1374fe Refactor use selection as search pattern implementation 2016-02-17 23:40:14 +00:00
Maxime Coste
85a8a0c26d Fix count_word_boundaries_match 2016-02-17 23:05:08 +00:00
Maxime Coste
c9f01e2168 Hide info box when selecting empty insert completion 2016-02-17 23:03:22 +00:00
Maxime Coste
8bd3395d4d Do not allow / in highlighter names as it is used for hierachies
/ are replaced with <slash> in the highlighter names.
Fixes #553
2016-02-13 12:59:27 +00:00
Maxime Coste
318f1ae781 Give more precise titles to assistant for object and next char selection
Fixes #584
2016-02-13 11:38:24 +00:00
Maxime Coste
6f65f4b3a5 Fix face completion, avoid a spurious temporary 2016-02-12 19:14:06 +00:00
Maxime Coste
0fc0702983 indentwidth can actually take 0 as a parameter 2016-02-12 13:53:54 +00:00
Maxime Coste
dfe3098b18 Fix buffer deletion logic
'eval -buffer * db' was failing in certain cases
2016-02-11 23:07:42 +00:00
Maxime Coste
b365ee3bc3 Merge remote-tracking branch 'jjthrash/osx-asciidoc-fixes' 2016-02-11 22:09:52 +00:00
Maxime Coste
986c91a835 Support validating some options values before setting them
Fixes #583
2016-02-11 22:07:18 +00:00
Jimmy Thrasher
3485de717e Remove A2X variable from Makefile since it doesn't fix the OSX homebrew problem
Per suggestion by @lenormf
2016-02-11 13:26:11 -05:00
Jimmy Thrasher
311d7852a6 Convert GNU sed extension into more general expression to work with BSD/OSX 2016-02-11 08:50:33 -05:00
Jimmy Thrasher
4c355488aa Turn off xmllint for a2x.py
The docbook DTD is not locally available in OSX, and the a2x.py
command calls xmllint with `--nonet` so it can't fetch the DTD.
Easier to just turn off linting.
2016-02-11 08:50:06 -05:00
Maxime Coste
8701a53252 Fix use of dead temporary strings in completions 2016-02-10 13:33:49 +00:00
Maxime Coste
8d37a716fb Use a custom SSO aware string backend 2016-02-10 09:44:42 +00:00
Maxime Coste
87769c9b03 Migrate most completion to ranked match 2016-02-09 22:50:10 +00:00
Maxime Coste
c8dedf458d Use the ranked word completion logic for buffer name completion 2016-02-09 20:04:23 +00:00
Maxime Coste
3030775414 Cleanup doc manpages generation 2016-02-06 00:01:42 +00:00
Maxime Coste
51c9a1563a Merge remote-tracking branch 'lenormf/manpage' 2016-02-05 09:39:40 +00:00
Maxime Coste
263ef0b149 Get rid of SharedString 2016-02-05 09:38:33 +00:00
Maxime Coste
94cbd5a837 More string usage cleanup 2016-02-05 09:13:07 +00:00
Maxime Coste
ff6eacffa3 dont intern SharedStrings but StringDataPtr 2016-02-05 00:20:45 +00:00
Maxime Coste
a8eddd03f0 String usage cleanups 2016-02-04 23:54:22 +00:00
Frank LENORMAND
8d0988d541 Prevent unconditional generation of the man pages, fix the executable name for a2x on Mac OS X 2016-02-04 15:10:04 +02:00
Frank LENORMAND
eb62327a4c Rename the man page to kak 2016-02-04 12:58:59 +02:00
Frank LENORMAND
9d6d2b767f Properly install the man page when using a custom prefix 2016-02-04 11:58:18 +02:00
Frank LENORMAND
80f7a350e4 Fix the installation of documentation pages 2016-02-04 11:46:12 +02:00
Maxime Coste
eb99c0f39e Merge remote-tracking branch 'occivink/master' 2016-02-04 09:30:25 +00:00
O. Perret
92ddbac1e8 Adapt 'make install' to rc/ reorganization 2016-02-03 23:31:35 +01:00
Maxime Coste
b59714bf2a Merge remote-tracking branch 'lenormf/manpage' 2016-02-03 22:16:40 +00:00
Frank LENORMAND
985b7a188a Generate the documentation pages in the troff format
This commit introduces the `doc` target in the Makefile, which
generates man pages from the `asciidoc`-formatted documentation in the
`doc/manpages` directory.

Before being installed into the `$(sharedir)/doc` directory, the
generated raw man pages have to be striped of a few sections without
which `a2x` won't convert the `asciidoc` data: the shady block of shell
script in the `doc` target does just that, along with compressing the
resulting man page.

New dependency hereby introduced: `asciidoc`.
2016-02-03 21:09:41 +02:00
Frank LENORMAND
b6e930a57d Migrate the raw troff kakoune man page to the asciidoc format 2016-02-03 14:51:32 +02:00
Maxime Coste
dc3c7d593c Do not use a hash to determine if a window must be redrawn
Collision happens
Fixes #569
2016-02-03 09:51:56 +00:00
Frank LENORMAND
043f742ec3 Add a basic man page 2016-02-02 21:13:25 +02:00
Maxime Coste
f2dac6ca15 Small cleanup 2016-01-28 20:29:10 +00:00
Maxime Coste
f3ec218a1c Support user given text objects 2016-01-28 19:30:34 +00:00
Maxime Coste
b7530b021a StringView based surround selection 2016-01-27 19:36:31 +00:00
Maxime Coste
f8106690b1 Make BufferIterator::operator* return a const ref to be more compatible 2016-01-27 08:27:23 +00:00
Maxime Coste
04119d6207 Make find_surrounding more reusable and add unit tests 2016-01-26 07:23:18 +00:00
Maxime Coste
99b4dc9929 Support connecting to other users sessions by using <user>/<session> 2016-01-20 22:58:39 +00:00
Frank LENORMAND
ffde7e4787 Fix the name of ranges highlighters upon initialization 2016-01-16 21:12:01 +02:00
Maxime Coste
032219b119 Rename set_signal_wrapper to set_signal_handler and tweak SignalHandler def 2016-01-10 20:46:15 +00:00
Maxime Coste
2f8612f8e7 Merge remote-tracking branch 'danlrobertson/safe_signal' 2016-01-10 03:00:25 +00:00
Maxime Coste
f358579e42 Merge remote-tracking branch 'occivink/master' 2015-12-29 23:06:35 +00:00
Maxime Coste
e938040e35 Cleanup InsertCompleter get rid of unneeded candidate vector copy 2015-12-28 00:18:38 +00:00
Maxime Coste
5217089902 Fix uses of non-keyword logical operators (replace &&, || and ! with and, or and not) 2015-12-27 23:28:34 +00:00
Maxime Coste
11652ce230 Remove the exec_keys function 2015-12-27 23:15:09 +00:00
Maxime Coste
43f1fcf616 Slight refactor 2015-12-27 23:09:32 +00:00
Maxime Coste
a5dcca6f78 Formatting fix 2015-12-27 23:07:06 +00:00
O. Perret
6a8507ce40 Keep match whose end is closest to the selection in reverse regex
search.
2015-12-27 16:53:52 +01:00
Maxime Coste
c39a4d5879 Add a static_words str-list option always considered for word completion
Fixes #313
2015-12-27 08:53:31 +00:00
Maxime Coste
978e8d18b9 Center the initial target line 2015-12-25 07:17:54 +00:00