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
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