Maxime Coste
c8d2417646
Support horizontal centering in view commands (using m)
...
Fixes #442
2015-11-02 19:51:59 +00:00
Maxime Coste
e51ef6c3c2
Wrap the shell params en env vars in a ShellContext struct
2015-10-22 13:48:57 +01:00
Maxime Coste
76fadd8108
More cleanups in the buffer open/reload code
2015-10-17 11:33:09 +01:00
Maxime Coste
3795ff735a
Refactor buffer creation and reloading to be more explicit
...
Reloading used to be implicit in the buffer creation function,
which is not always nice, as code that explicitely wanted to
reload a buffer could not say so.
2015-10-17 11:33:09 +01:00
Maxime Coste
1cb4d2965f
Fix '*' word boundary detection at begin/end of buffer
2015-10-01 19:35:42 +01:00
Maxime Coste
27571a7716
Refactor utf8::iterator to be on the safe side
...
utf8::iterator now knows the iterator valid range, and pass
it to utf8 functions.
2015-09-23 19:39:21 +01:00
Maxime Coste
3c000cbd0d
Error when trying to run an empty register as a macro
2015-09-22 19:01:24 +01:00
Maxime Coste
a45876124b
Avoid restoring selections in regex_prompt when they cannot have been modified
2015-09-04 19:00:42 +01:00
Maxime Coste
564ab7d942
Merge remote-tracking branch 'zakgreant/reference-sheet-scripts'
2015-08-20 20:13:48 +01:00
Maxime Coste
7ee027b125
Use the "<reg> syntax along with a default register for marks and macros
...
Marks use the '^' register by default, macros the '@' register.
2015-08-19 13:58:37 +01:00
Maxime Coste
baf0203b9d
Default register is not handled by the Normal input mode.
...
Normal input mode will just pass 0 as the reg if it was not specified
by the user, its yank/paste functions that should determine 0 means
use '"' register.
2015-08-19 13:41:16 +01:00
Maxime Coste
f2580a366d
Cleanup key to codepoint conversion
...
Fixes #378
Fixes #365
2015-08-18 00:19:14 +01:00
Zak Greant
dc2d12a124
Fixing minor typo
...
s/prevous/previous/
2015-08-15 16:46:57 +02:00
Maxime Coste
7086135fa6
Display auto info on register insertion/explicit insert completion
2015-08-11 20:36:07 +01:00
Frank LENORMAND
b7e232d230
Add the 'n' flag to the autoinfo popup window
2015-07-29 10:20:11 +03:00
Maxime Coste
1af82e2e24
Tweak regex constructor calls
2015-07-25 11:15:03 +01:00
Maxime Coste
36ffff96be
Avoid copying selection before the first line
2015-07-22 23:24:20 +01:00
Maxime Coste
17e3be48a5
Transform boost/std regex_error to Kakoune::regex_error at Regex construction
...
Fixes #318
2015-07-14 21:06:41 +01:00
Maxime Coste
7d9ec52bf2
Only allow 'sane' register names
...
Fixes #316
2015-07-14 13:48:39 +01:00
Maxime Coste
c44c8c3d1f
Use different variable for pipe command in/out text
2015-07-13 13:50:36 +01:00
Maxime Coste
24de3ed822
Move selection saving/restoring to z/Z
...
Fixes #284
2015-07-11 11:36:23 +01:00
Maxime Coste
33616f4192
Merge branch 'remap-objects' of http://github.com/elegios/kakoune
2015-07-01 22:08:17 +01:00
Viktor Palmkvist
ab2007bd4e
Add remapping of text object keys
2015-07-01 17:53:38 +02:00
Viktor Palmkvist
13d212f445
Added argument text object
2015-07-01 17:42:10 +02:00
Maxime Coste
ee6fc92ae2
Fix stupid bug in '*'
2015-07-01 13:33:20 +01:00
Maxime Coste
e1ba2991f5
Initial selection saving/restoring support bound to ^ and alt-^
2015-06-27 11:02:08 +01:00
Maxime Coste
5b554ff474
Add support for command completion on commands, use it for :new
...
That means commands can be completed using other commands and their
completers. Yes that does makes sense.
Closes #296
2015-06-26 13:57:23 +01:00
Maxime Coste
3834440298
Rework window redraw handling, should redraw window less often
2015-06-21 19:56:23 +01:00
Maxime Coste
75dd74ff43
Use <a-R> as replace paste all yanked selections
...
Move rotate to ' and rotate contents to <a-'>
Fix segfault when pasting all and nothing was yanked yet
2015-06-21 19:36:13 +01:00
Maxime Coste
fce2a21690
Fix segfault on g. when last modification position past buffer end
2015-06-18 19:51:04 +01:00
Maxime Coste
0555288e46
Show main selection search pattern on '*'
...
Fixes #278
2015-06-10 22:48:15 +01:00
Maxime Coste
409d804ee8
Do not close stderr/stdout before program finish
...
Programs like grep called in '$' command will fail due to SIGPIPE
for example. So we need to keep the pipe open.
2015-06-08 22:42:51 +01:00
Maxime Coste
66866aafd3
Change gl/gh to only move cursor, not selecting (<a-h>/<a-l>) are unchanged
...
That is more consistant with other goto commands (that just move the cursor)
2015-06-08 13:51:06 +01:00
Maxime Coste
942fc224af
Specify if ShellManager should read output or not using a flag
...
Some program (xclip), will fork a daemon keeping stdout/stderr open,
so waiting for them to be closed make kakoune hang. Commands discarding
stdout can then just not wait on it.
2015-06-08 13:45:20 +01:00
Maxime Coste
e6f0e8ef75
Move write_debug to buffer utils as write_to_debug_buffer
2015-06-06 11:54:48 +01:00
Maxime Coste
8f6fc6a0f3
Port even more code to use format function
2015-06-01 21:15:59 +01:00
Maxime Coste
f19bb4fe6d
Port more code to use the format function instead of adhoc string concat
2015-06-01 19:06:35 +01:00
Maxime Coste
499bde10bd
Small style tweaks
2015-05-26 18:40:39 +01:00
Maxime Coste
bb7800b1a6
Preserve window position in regex_prompt
...
Fixes #271
2015-05-18 13:56:58 +01:00
Maxime Coste
5bff742e0a
Replace some String temporaries with StringViews
2015-04-27 16:46:57 +01:00
Maxime Coste
6e5e831ce6
Merge remote-tracking branch 'ekie/next_buffer'
2015-04-21 13:28:09 +01:00
Maxime Coste
1dfa2d7fe4
Avoid unneeded update of selections when we are going to overwrite them
2015-04-19 15:12:16 +01:00
Maxime Coste
9f65a4e6dd
Remove Context::set_selections, use Context::selections() = ...
2015-04-19 15:00:37 +01:00
Eike Plack
0f9b210e3f
Fix set_last_used_buffer
2015-04-15 02:36:47 +02:00
Maxime Coste
6e1a388544
Replace various adhoc operator+ based formatting with format func
2015-03-30 23:06:02 +01:00
Maxime Coste
195b813b73
Add support for Home/End keys in normal and insert mode
...
Fixes #260
2015-03-27 13:33:14 +00:00
Maxime Coste
727580a238
Make utf8_iterator a proper stl useable iterator
2015-03-27 13:19:30 +00:00
Maxime Coste
94bd32572d
Move some only used once inline functions directly in their caller
...
No need to have that in a header, and not really selectors anyway
2015-03-26 13:34:21 +00:00
Maxime Coste
757366472b
Add <alt-:> for ensuring selections are forward (cursor >= anchor)
...
Not very useful interactively, but that feature can make macros much
more robust.
2015-03-26 13:34:21 +00:00
Maxime Coste
6b3201f0f1
Change ShellManager to return both stdout and the return value in a pair
2015-03-13 13:39:18 +00:00
Maxime Coste
3c1a325b6f
Refactor String, use a common StringOps interface, hide std::string
2015-03-10 19:50:22 +00:00
Maxime Coste
7af8937bac
Extract remaining lambdas commands so that the cmds array can be compile time initialized
2015-03-09 14:01:17 +00:00
Maxime Coste
d1f17228dd
Use a static array to store the keymap
2015-03-09 13:55:55 +00:00
Maxime Coste
1cec8df45e
ArrayView content is not const anymore
...
As in upcoming std c++ array_view, ArrayView<T> points to mutable
data, use ArrayView<const T> or alias ConstArrayView<T> for const
data.
2015-03-09 13:54:09 +00:00
Maxime Coste
0bbaef6e48
Use a sorted array for keymap rather than an unordered map
...
with ~100 entry, a binary search finds in < 7 step, unordered map
is overkill.
2015-03-08 11:40:50 +00:00
Maxime Coste
4be6090107
Fix additional eol inserted when replace piping at end of buffer
2015-03-06 13:57:21 +00:00
Maxime Coste
2d93933d81
Rework keymap to use function pointer rather than std::function
2015-03-05 19:57:46 +00:00
Maxime Coste
bc7c3987e1
Convert CodepointPair to struct MatchingPair
2015-03-04 20:47:14 +00:00
Maxime Coste
00bde4ef48
Respect columns when copying selection, not just bytes
2015-02-25 13:41:00 +00:00
Maxime Coste
bf088a864c
Avoid selecting buffer end when copying selection to next line
2015-02-06 22:04:42 +00:00
Maxime Coste
622919bafd
Add C and alt-C for 'copy selection to next/previous line'
2015-02-05 21:25:04 +00:00
Maxime Coste
bb74770a24
Add C-f and C-b binding for page up/page down
...
Fixes #173
2015-01-27 23:33:22 +00:00
Maxime Coste
92cb3a035f
Try to improve ga behaviour
2015-01-26 19:40:48 +00:00
Maxime Coste
bb915f0bc5
Fix filename completion
2015-01-15 19:26:38 +00:00
Maxime Coste
da562e03a0
replace all std::vector with Vector
2015-01-12 13:58:41 +00:00
Maxime Coste
295a97f2a6
Rename memoryview to ArrayView
2015-01-06 13:43:37 +00:00
Maxime Coste
8cc96ec36b
Add a join function for joining strings using a specific char
2014-12-28 11:16:51 +00:00
Maxime Coste
064fb81b8d
Move containers utils to containers.hh and add filtered/transformed utils
2014-12-23 13:40:26 +00:00
Maxime Coste
c454cf1379
Avoid eol after undo/redo
2014-12-18 23:17:38 +00:00
Maxime Coste
a0b35bf590
Add support for user mappings, bound to comma
...
:map have a 'user' mode that is accessible through the comma key.
the mapping will get executed in normal mode.
2014-12-12 13:57:02 +00:00
Maxime Coste
9c1ca303ff
Change a-| to ignore output, and add ! and a-! for insert/append cmd output
2014-12-11 23:21:11 +00:00
Maxime Coste
c68c9abcac
Display the register we yanked to
2014-12-11 19:36:41 +00:00
Maxime Coste
319cfcda34
Get rid of uses of unordered_set, vector is just simpler and faster...
2014-12-09 21:59:47 +00:00
Maxime Coste
77e2e8a31e
Support selecting yank/paste register with "
2014-11-28 13:58:36 +00:00
Maxime Coste
da9f688f37
Fix indent/deindent when multiple selections are on same line
2014-11-28 13:22:54 +00:00
Maxime Coste
49931fbf05
Separate events between normal and urgent ones
...
Run urgent ones while executing %sh blocks.
Fixes #236
2014-11-25 13:52:06 +00:00
Maxime Coste
88aa707b9c
For {Menu,Info}Style::Prompt, choose the anchor directly in ncurses code
2014-11-08 19:08:23 +00:00
Maxime Coste
e1fc2677e3
Add a MenuDoc style for info box, that will place it next to the menu
2014-11-08 18:01:55 +00:00
Maxime Coste
fc66c7f92f
small style fix
2014-11-07 13:51:07 +00:00
Maxime Coste
c04dfc7bb7
move more parameters from const String& to StringView
2014-11-01 19:31:13 +00:00
Maxime Coste
185b980718
Add scoped aliases
...
aliases are now stored in window, buffer, or globally.
2014-10-30 14:02:13 +00:00
Maxime Coste
3e797a3d15
centralize bit operation support for enum used as flags
2014-10-23 19:02:39 +01:00
Maxime Coste
fc4142178f
Port more code to StringView instead of const String&
2014-10-20 19:18:38 +01:00
Maxime Coste
2e0b4d02b7
Small tweak
2014-10-16 19:43:09 +01:00
Maxime Coste
894dd2e055
Add missing includes
2014-10-13 19:28:02 +01:00
Maxime Coste
fa85f0fc32
Refactor regex uses, do not reference boost except in regex.hh
2014-10-13 13:14:23 +01:00
Maxime Coste
d4a84125ef
Use InternedStrings for buffer contents
2014-10-03 13:39:13 +01:00
Maxime Coste
a404886fe2
line joining will only join selected lines if selection span multiples ones
...
Fixes #133
2014-09-25 19:26:27 +01:00
Maxime Coste
ecf8047bcc
Fix reverse search when extending
2014-09-25 13:29:53 +01:00
Maxime Coste
4c4d3cdd38
Add support for mapping keys in goto/view commands
2014-09-23 13:45:18 +01:00
Maxime Coste
9625ea64ff
Add inner versions of to object begin/end selection
2014-09-23 13:37:56 +01:00
Maxime Coste
217ba625ad
Use raw terminal, and handle signals manually
...
C-c now sends SIGINT to the process group of Kakoune server
when used in normal mode.
Fixes #30
2014-09-20 19:35:37 +01:00
Maxime Coste
2aaae7473c
preserve selection direction in split lines
2014-09-19 13:45:24 +01:00
Maxime Coste
6dc223ed6a
Fix spaces_to_tabs when tabs follow spaces
2014-08-28 23:19:18 +01:00
Maxime Coste
ceb10665d1
Add support for running kakoune as a filter, using -f 'keys'
...
It will cycle on every given files, apply the keys and write to
<filename>.kak-out. Only normal/insert mode is available, kakrc
are not read.
2014-08-14 23:51:24 +01:00
Maxime Coste
31f9d87798
Only change search register when prompt are validated
...
Fixes #160
2014-07-30 19:15:16 +01:00
Maxime Coste
9fe4724743
Stop macro recording on esc in normal mode
...
Fixes #221
2014-07-30 01:09:04 +01:00
Maxime Coste
826bf22eef
fix align with multiple columns
2014-07-22 00:41:10 +01:00
Maxime Coste
a32b49acd1
Rename ColorPair to Face and ColorRegistry to FaceRegistry
...
Face also stores the attributes
2014-07-11 00:27:43 +01:00
Maxime Coste
b6979e2d2c
Add docstring for normal mode commands and display them if autoinfo >= 2
2014-07-10 19:22:14 +01:00