Commit Graph

3046 Commits

Author SHA1 Message Date
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
Maxime Coste
c16b9a2ec4 Set window dimensions when setting it in a context 2015-12-25 07:17:36 +00:00
Maxime Coste
a051250204 Do not try to access the local client if it was not succesfully created 2015-12-24 04:09:30 +00:00
Maxime Coste
4d230e4051 Support passing +<line number> parameter to specify the first buffer target line on open
Fixes #336
2015-12-23 22:56:33 +00:00
Maxime Coste
1d748a4017 Pass flags to the regex engine to correct anchors
Current behaviour was matching ^ $ for the current search start/end
(and \b was always matching begin/end as well).

Fixes #536
2015-12-23 22:20:25 +00:00
Daniel Robertson
f5f7bc80e8 Add a signal function using sigaction
Use a wrapper for sigaction in place of signal to ensure that the
SA_RESTART flag is set for all signals used.

Signed-off-by: Daniel Robertson <danlrobertson89@gmail.com>
2015-12-23 14:03:31 -05:00
Maxime Coste
669fccc5e9 Remove drop jump (c-d) 2015-12-23 02:47:32 +00:00
Maxime Coste
1288a1d385 Support collapsing jumps in eval and exec
Fixes #535
2015-12-23 02:46:13 +00:00
Maxime Coste
aa92ca96c8 Use an index for jump list current rather than an iterator 2015-12-23 02:31:03 +00:00
Maxime Coste
411e5a9486 Extract jump list handling in a JumpList struct 2015-12-23 01:56:54 +00:00
Maxime Coste
9e664318af Tweak Context::push_jump implementation, simplify code 2015-12-22 22:18:25 +00:00
Maxime Coste
24411569fc Slight refactor in selection update code 2015-12-17 04:56:44 +00:00
Maxime Coste
8dcffd8f5a Initial, WIP spelling implementation
Add a ranges highlighter that takes a timestamped list of ranges and
associated face. Add a spell.kak file that uses aspell pipe interface
to fill a range-faces option.
2015-12-17 04:07:49 +00:00
Maxime Coste
ac5bc7e95d Add missing erasing of invalid line flags 2015-12-15 02:22:29 +00:00
Maxime Coste
d2b0dba39d Support quitting while executing RuntimeError hooks
Fixes #529
2015-12-14 19:06:30 +00:00
Maxime Coste
515231e824 Fix input mode keep alive handling, use a refcount for input modes
Fixes #528
2015-12-12 23:51:51 +00:00
Maxime Coste
80b1d88bb0 Fix Buffer::changes_since if we get passed an invalid timestamp 2015-12-12 23:50:01 +00:00
Maxime Coste
b6105fa106 Use markup for line-flags instead of a single face 2015-12-12 23:16:07 +00:00
Maxime Coste
8d7e16a8e6 Merge remote-tracking branch 'doppioandante/safer-autoload' 2015-12-12 17:03:38 +00:00
Maxime Coste
37210218fd Merge remote-tracking branch 'lenormf/fix-face-format-check' 2015-12-12 16:53:18 +00:00
Maxime Coste
4cb74623bb Store the buffer timestamp in line flags options respect it for highlighting
Option content is auto updated to match current buffer, so that line flags
are updated according to buffer modifications.
2015-12-12 11:45:45 +00:00
Maxime Coste
70250fc1e3 Pass directly the StringView to option_add and let it do the option parsing 2015-12-12 11:26:34 +00:00
Frank LENORMAND
bd56ed5fad Avoid instanciation of a String object everytime the parse_color
function is called.
2015-12-12 12:00:52 +03:00
Maxime Coste
5b9d30c088 Optimize the dynregex case where the expression refers directly to a regex option 2015-12-12 06:50:58 +00:00
Enrico Lumetti
f9d1ef830f Remove deprecated userconfig rule 2015-12-12 01:00:32 +01:00
Frank LENORMAND
49a5bbf3ca Ensure that at least one character follows a ',' or a '+' sign in a face
description (respectively a background color and attributes).
2015-12-11 22:58:28 +03:00
Frank LENORMAND
df31b88187 Fix "unused result" warnings for several system calls. 2015-12-10 11:00:10 +03:00
Maxime Coste
bde0975d9b Filter mode require an event manager
Fixes #519
2015-12-08 00:12:56 +00:00
Maxime Coste
89821e9471 Move grench.rc in the correct directory 2015-12-08 00:10:26 +00:00
Maxime Coste
888ff33683 Merge remote-tracking branch 'alexherbo2/grench-rc' 2015-12-07 13:52:24 +00:00
Maxime Coste
937bef69d9 Add support for adding saved selections to current ones with <a-z> 2015-12-07 13:43:09 +00:00
Maxime Coste
966ac90fe7 Change eolformat and BOM options to be enums instead of strings 2015-12-06 12:51:55 +00:00
Maxime Coste
39fffec104 Improve info box placement behaviour in some corner cases 2015-12-05 10:51:46 +00:00
Maxime Coste
eac6d63371 Small code refactor 2015-12-05 10:14:04 +00:00
Maxime Coste
9799f34f78 Refactor some code in shell_manager.cc 2015-12-05 10:00:11 +00:00
Maxime Coste
84fc4bd6cb Support -e in filter mode to give commands to execute (executed before keys) 2015-12-03 13:48:30 +00:00
Maxime Coste
c4a9f059dc Fix unset option when using the current scope and it points to global 2015-12-02 19:25:40 +00:00
Maxime Coste
9a6347d6aa Another try to fix csr problems (#469) 2015-12-02 01:12:24 +00:00
Maxime Coste
2a8a329b83 Remove support for %arg{#}, can be added back if we got a use case
It is very unlikely we need %arg{#} without needing a %sh anyway.
2015-12-02 01:08:41 +00:00
Maxime Coste
a02ad38fb4 Forward each params in %arg{@} separately 2015-12-02 01:01:48 +00:00
Maxime Coste
b2648053f9 Add argument expansion support 2015-12-01 20:07:14 +00:00
Maxime Coste
550a95a3d7 Change def -shell-params to def -params and take the counts as parameters 2015-12-01 14:00:55 +00:00
Maxime Coste
7335065d20 Update buffer display names after changing working directory
Fixes #501
2015-12-01 13:42:42 +00:00
Maxime Coste
1745344869 Run InsertIdle after reseting completer to permit InsertIdle to display an info box 2015-11-30 13:54:59 +00:00
Maxime Coste
e91da2bd43 Try to just reset the scroll region to workaround #469 2015-11-30 13:35:15 +00:00
Maxime Coste
a8d81e395b Support dropping last jump and use it to fix :tag double jump push
Fixes #492
2015-11-27 13:57:46 +00:00
Maxime Coste
516e999a28 Disable history in all non interactive contexts 2015-11-27 13:50:40 +00:00
Maxime Coste
b4df57d369 Small cleanups 2015-11-27 13:50:40 +00:00
Maxime Coste
a81dbd90a1 Consolidate writing to fd 2015-11-27 13:50:40 +00:00
Maxime Coste
0b57103c72 Remind user hooks disable when replaying last insert
Fixes #495
2015-11-26 23:02:59 +00:00
Maxime Coste
de72c7d5d3 Add missing <cstdio> include
Fixes #498
2015-11-26 22:51:39 +00:00
Alex Leferry 2
5da00a0f14 add rc/grench.kak 2015-11-26 15:23:02 +01:00
Maxime Coste
f66bbdf209 select/split interpret count parameter as the capture group to use
count being 0 by default, we use the whole match, but we can now
specify to use capture 1 with 1s<regex><ret>.
2015-11-26 13:36:26 +00:00
Maxime Coste
9e08cf8ea4 Preserve default registers in exec/eval by default 2015-11-26 13:34:46 +00:00
Maxime Coste
001da44e11 Add -save-regs <regs> option to exec and eval to preserve registers
Fixes #279
2015-11-25 23:40:38 +00:00
Maxime Coste
3644f2a056 Refactor registers to initialize all of them at startup and add null register
Fixes #497
2015-11-25 21:48:17 +00:00
Maxime Coste
ec91ea17fe Add a static const String::ms_empty empty string 2015-11-25 21:07:41 +00:00
Maxime Coste
3b5b781c5d Reject non ascii register names
Fixes #493
2015-11-25 20:12:11 +00:00
Maxime Coste
e45b0c3ffc Add StatusLine{Mode,Info,Value} built in faces
Fixes #491
2015-11-24 13:53:15 +00:00
Maxime Coste
ad5c8db7a8 Add support for various completions in :prompt
Fixes #489
2015-11-23 13:57:36 +00:00
Maxime Coste
36bf145b02 Support opening new files on kak -c command line
Fixes #485
2015-11-22 11:48:02 +00:00
Maxime Coste
7cf7f121e8 Fix onkey autoinfo 2015-11-21 17:21:21 +00:00
Maxime Coste
b0d696d994 Merge remote-tracking branch 'somasis/master' 2015-11-21 15:39:27 +00:00
Maxime Coste
a8d2c93ac8 Add a profiling debug flag to get timings for hooks/shell eval 2015-11-21 12:11:19 +00:00
Maxime Coste
5e4f5cd2a0 Move enum option handling in enum.hh and refactor enum options 2015-11-20 09:06:53 +00:00
Kylie McClain
77ba471020 Makefile: Allow for passing include/ncursesw path 2015-11-19 20:09:24 -05:00
Maxime Coste
c0f1b7b99f Introduce a debug flags option to control some tracing
Support shell|hooks and write traces in debug buffer
2015-11-19 21:58:26 +00:00
Maxime Coste
2977cc97b3 Merge branch 'ws' of git://github.com/jubalh/kakoune 2015-11-19 21:56:45 +00:00
Maxime Coste
bf213b01dd Keep an empty last line in debug buffer to provide auto scrolling 2015-11-19 21:33:50 +00:00
Kylie McClain
1ed66e9b6a Fix building with musl libc 2015-11-19 20:23:55 +00:00
Maxime Coste
788c358720 Fix some cases where menu items are truncated needlessly 2015-11-19 20:23:27 +00:00
Michael Vetter
71f6ee3234 Remove trailing whitespaces 2015-11-19 16:31:00 +01:00
Maxime Coste
daf041e839 Implement some generic utilities to convert flags to/from strings 2015-11-19 00:17:52 +00:00
Maxime Coste
784ab635ee Splitting an empty string now returns an empty vector 2015-11-19 00:17:18 +00:00
Maxime Coste
9656f088e7 Change autoinfo option to be a flags option, document flags options
Support the value1|value2|value3 syntax for flag options.
2015-11-18 23:47:28 +00:00
Maxime Coste
5c37f0dd5e Propagate shell context through prompt/onkey/menu commands 2015-11-18 20:15:51 +00:00
Maxime Coste
5743ea7384 Respect count argument on search 2015-11-18 20:13:03 +00:00
Maxime Coste
8d47cf0674 Fix correctly ncurses menu size computations and avoid divide by 0 2015-11-18 20:12:16 +00:00
Maxime Coste
6925ff33b1 Send client dimensions on connection, avoid a race condition.
Fixes #429
2015-11-18 13:43:43 +00:00
Maxime Coste
a37858ece7 Put count and register normal mode params in the shell context
'10:echo %val{count}' will display 10
Fixes #10
2015-11-17 23:47:59 +00:00
Maxime Coste
6bd71c68e5 NCurses: Fix max menu item width computation 2015-11-17 23:34:03 +00:00
Maxime Coste
cb108b248a Fix alias completion and overwritting 2015-11-17 13:55:27 +00:00
Maxime Coste
97cc166885 Try to restore the previously opened buffer when converting to client mode
Fixes #483
2015-11-16 13:52:33 +00:00
Maxime Coste
1bf0a964ce Move is_basic_alpha to unicode.hh 2015-11-15 13:24:39 +00:00
Maxime Coste
111732005a Support <c-v> to insert raw value in insert/prompt mode 2015-11-13 13:52:54 +00:00
Maxime Coste
67d1b7dcd1 Faster BufferIterator::operator++/-- 2015-11-12 13:59:36 +00:00
Maxime Coste
2113b829df Show an info box explaining that spaces disable history recording in command prompt
Fixes #477
2015-11-12 13:57:14 +00:00
Maxime Coste
d6168a90fc Fix access to dead temporary 2015-11-11 19:14:35 +00:00
Maxime Coste
b73a890f8c Document i attribute in face command info 2015-11-11 19:05:47 +00:00
Maxime Coste
a5c8437873 Remove unneeded conversion 2015-11-11 19:05:32 +00:00
Maxime Coste
892c3647e4 Fix to_lower/to_upper handling to correctly support non unicode chars
require a proper unicode locale setup on the system
Fixes #94
2015-11-11 00:21:20 +00:00
Maxime Coste
7bd3f4306d Remove useless checks, buffer has always at list one line 2015-11-10 23:06:57 +00:00
Maxime Coste
217dd6a1de Disable history when executing maps
Fixes #476
2015-11-10 21:24:47 +00:00
Maxime Coste
a0bcdd83df Document default registers 2015-11-10 20:39:17 +00:00
Maxime Coste
9134066e85 Try to switch to last buffer when removing the current one 2015-11-10 13:52:48 +00:00
Maxime Coste
53184829ee Avoid unneeded inc/dec rec in RefPtr::operator= 2015-11-10 13:50:15 +00:00
Maxime Coste
6e08716899 Refactor Normal input mode on_key method 2015-11-09 21:30:07 +00:00
Maxime Coste
6ecccf4119 Regex based normal mode command honor the selected register
They default to the '/' register for the default regex, but can
use another if specified with "<reg>
2015-11-09 21:28:18 +00:00
Maxime Coste
9b8e2526f9 Merge search hihglighter and regex option highlighter in dynregex 2015-11-09 09:34:03 +00:00
Maxime Coste
62c981fe2d Small tweak in DynamicRegexHighlighter 2015-11-09 08:50:17 +00:00
Maxime Coste
a2d78941ba Catch expression evaluation errors in line/column highlighters 2015-11-09 08:42:40 +00:00
Maxime Coste
12abb54a88 Slightly more performant regex capture gathering in select_all_matches 2015-11-09 08:42:12 +00:00
Maxime Coste
6840f7ce9c Store the last used buffer in clients
Fixes #474
2015-11-07 18:25:49 +00:00
Maxime Coste
6bb775241c Optimize BufferIterator to avoid a lot of pointer chasing 2015-11-07 16:55:48 +00:00
Maxime Coste
04c8334c98 Avoid useless StringDataPtr copy 2015-11-07 16:55:20 +00:00
Maxime Coste
28d451b844 Support 'current' scope in set/unset command 2015-11-06 13:56:48 +00:00
Maxime Coste
65e67b0656 Remove unused _ss UDL 2015-11-06 13:37:51 +00:00
Maxime Coste
33253a8fd5 Support 'V' for locked view control
Fixes #343
2015-11-05 13:40:40 +00:00
Maxime Coste
05f7337eb0 Change ncurses wheel down default button to 5 2015-11-05 13:28:58 +00:00
Maxime Coste
48a296dc71 Avoid an unneeded call to ensure_char_start 2015-11-04 20:10:12 +00:00
Maxime Coste
d6a2d77857 Fix double check_invariant in SelectionList construction, and set main selection to last 2015-11-04 19:53:47 +00:00
Maxime Coste
2ce0a5a8a8 Merge https://github.com/alpha123/kakoune 2015-11-04 19:49:21 +00:00
Maxime Coste
1c831b41da always_inline a few RefPtr operators 2015-11-04 19:47:26 +00:00
Maxime Coste
e82ca36117 Avoid unneeded sort_and_merge_ovelapping call in select_all_matches 2015-11-04 19:43:25 +00:00
Maxime Coste
719997f0ab Do not tag BufferIterator as random access
Boost regex considers that random access means fast distance
computation, which is not the case for BufferIterator where
Buffer::distance is O(num lines between them) which can get
big on large files.

Fixes #462
2015-11-04 01:01:52 +00:00
Maxime Coste
6273aa9443 Rework Buffer::distance implementation 2015-11-04 01:01:52 +00:00
alpha123
97c92368bc Build on FreeBSD 2015-11-03 11:51:27 -07:00
Maxime Coste
e8239feddf Minor cleanup in normal.cc 2015-11-03 13:59:05 +00:00
sinetek
4b8c03afe6 Adding support for DragonFlyBSD. 2015-11-03 01:14:34 +07:00
Maxime Coste
c8d2417646 Support horizontal centering in view commands (using m)
Fixes #442
2015-11-02 19:51:59 +00:00
Maxime Coste
17eef4a7dc Use explicit lambda captures 2015-11-02 13:44:03 +00:00
Maxime Coste
2bf44b6b49 Make word insert completion work better with unicode char 2015-10-30 13:57:46 +00:00
Maxime Coste
f556ef12c4 Fix preservation of entered text in option insert completer 2015-10-30 13:08:07 +00:00
Maxime Coste
34d7bdbc01 Minor code cleanup in insert_completer.cc 2015-10-30 13:07:48 +00:00
Maxime Coste
32b51e2cc3 Use ranked matches for option completion as well 2015-10-29 13:57:50 +00:00
Maxime Coste
8030897708 Merge branch 'master' into ranked-word-completion 2015-10-29 13:44:55 +00:00
Maxime Coste
24043bbffe Use an heuristic based match ranking algorithm inspired by what YouCompleteMe does 2015-10-29 13:36:30 +00:00
Maxime Coste
4b7b04bf59 Fix mouse scrolling up stopping at line 2
Fixes #448
2015-10-28 00:01:25 +00:00
Maxime Coste
89d22f3335 Move more logic into RankedMatch 2015-10-27 21:25:18 +00:00
Maxime Coste
2eba789610 Merge branch 'master' into ranked-word-completion 2015-10-27 13:33:15 +00:00
Maxime Coste
40c6edf243 Document exclusive attribute 2015-10-23 13:49:02 +01:00
Maxime Coste
5118e13aee Remove useless std::move 2015-10-23 13:46:55 +01:00
Maxime Coste
e7152bad56 Add an exclusive attribute that overrides existing face 2015-10-23 13:46:41 +01:00
Maxime Coste
1ba37bacd8 Fix optimized linkage 2015-10-23 09:49:06 +01:00