Commit Graph

6156 Commits

Author SHA1 Message Date
Maxime Coste
b4dc16010d Fix out of bound read in ParameterParser::get_switch
The empty string case was not correctly handled.
Fixes #1883
2018-02-26 15:20:19 +11:00
Maxime Coste
18f0902824 Merge remote-tracking branch 'Delapouite/sels' 2018-02-26 11:34:05 +11:00
Delapouite
44a67f8730 Docs: add trim to keymap 2018-02-25 17:25:05 +01:00
aver-d
f43635c4df Ease reading of command-line options
This change displays command-line options in grid format. Each
parameter is indented with two spaces and then padded to maintain
vertical alignment of each description.

I think the visual spacing makes the options much easier to
read. This is particularly important for people new to Kakoune who
use `-help` as a way to become familiar with the program.
2018-02-25 01:46:50 +00:00
Maxime Coste
6453ce7394 RefPtr: Add some more noexcept specifications 2018-02-25 00:20:10 +11:00
Maxime Coste
67424aae1e Remove avoidance of end of lines
Various places in Kakoune code used to modify selections so that
cursors would not lie on an end of line. Remove those to increase
Kakoune's consistency and simplicity.

Now that end of lines are highlighted separately, they should not
be handled specially in most commands.
2018-02-25 00:05:05 +11:00
Frank LENORMAND
6dff3cec44 contrib tupfile: Fix the name pattern for objects 2018-02-24 15:54:34 +03:00
Maxime Coste
171e787063 Update startup message to notify about h/l change 2018-02-24 23:16:39 +11:00
Maxime Coste
df5ae5fa79 colorschemes: Add PrimaryCursorEol and SecondaryCursorEol
Tried to respect the colorscheme themes, adjustements welcome.
2018-02-24 23:16:39 +11:00
Maxime Coste
2a60af25dc Allow l/h to cross line boundaries
l and h are now respectively "next character" and "previous character"
2018-02-24 23:16:39 +11:00
Delapouite
c2541dbfe2 Docs: add modes page 2018-02-24 12:05:21 +01:00
Maxime Coste
6a6e71dc0f Highlight cursors differently when they lie on an end of line
When on an end of line, certain behaviours can be surprising, for
example delete will join the following line (which makes sense, and
is consistent, but hard to predict if we do not know the cursor is
on and end of line).

As Kakoune is moving more and more towards treating end of lines
as any other character, making it clear when the cursor lies on
them seems like a good way to reduce surprise.
2018-02-24 21:32:01 +11:00
Maxime Coste
a0de41d165 goto last change: do not try to avoid end of lines
Avoiding end of line is a behaviour we avoid (pun intended) more and more
in Kakoune source code, now that end of lines are regularly selected, it
makes no sense to just to next line when last modification lies on an EOL
(and it probably did not make much sense back when that code was written).
2018-02-24 21:09:09 +11:00
Maxime Coste
cda1fdafe2 test: fix run script after changes jump list behaviour
source the rc file *after* selecting the target text to ensure
eventual hooks will not interfere.
2018-02-24 20:59:31 +11:00
Maxime Coste
a25d6171d3 Fix crash in select_sentence when not selection to end
select_sentence could create a buffer iterator preceeding the
buffer begin, leading to a crash trying to read line -1.
2018-02-24 20:22:23 +11:00
Maxime Coste
efce8e0ce6 Revert "Do not save last command/pipe/regex in register when history is disabled"
This reverts commit 55621fb4cc.

This should not be necessary as :exec/eval already save those registers
and reset them by default, and it breaks the ability to use those
registers during an eval/exec (as the commands behave differently)
2018-02-24 19:58:40 +11:00
Maxime Coste
4d11bb20c3 Always collapse jumps in exec/eval, remove -collapse-jumps switch
There does not seem to be any reasonable use cases of not collapsing
jumps when the input is not comming from the user. Always collapse
them.

It could make sense to move jump collapsing out of context_wrap as
in general any action not comming directly from the user should
collapse them, at the moment a comment or mapping will not collapse
jumps, which is unfortunate.
2018-02-24 19:02:15 +11:00
Maxime Coste
933ac4d3d5 Regex: Improve comments and constify some variables
Reword various comments to make some tricky parts of the regex
engine easier to understand.
2018-02-24 17:40:08 +11:00
Maxime Coste
1c4f3534e1 kakrc: refactor colorscheme implementation
Style tweaks, and remove check for parameter count as this is already
done by Kakoune itself (the command is specified to take 1 parameter)
2018-02-24 16:43:42 +11:00
Maxime Coste
af21d4ca1e regex: track CompiledRegex::StartDesc in the Regex memory domain 2018-02-24 16:29:24 +11:00
Delapouite
e568231fe3 Display number of combined/saved/restored selections in status 2018-02-23 22:58:44 +01:00
Maxime Coste
9bd9fecb53 Merge remote-tracking branch 'lenormf/fix-colorscheme-recursive-directory' 2018-02-23 08:12:12 +11:00
Maxime Coste
e9c18ebff6 Merge remote-tracking branch 'lenormf/fix-makefile' 2018-02-23 08:10:11 +11:00
Maxime Coste
6c41c9121d Merge remote-tracking branch 'occivink/comment' 2018-02-23 08:08:52 +11:00
Olivier Perret
48912a21d3 document 'register' value 2018-02-22 21:47:34 +01:00
aver-d
da009b0ef5 Fix typos in C++ string literals
informations, dont, incrementaly, alignement
2018-02-22 20:28:01 +00:00
Frank LENORMAND
01c1b4fd69 src makefile: Fix the --static flag passed to pkg-config 2018-02-22 15:56:14 +03:00
Frank LENORMAND
a870210e77 kakrc: Allow colorscheme to search directories recursively 2018-02-22 15:30:18 +03:00
Maxime Coste
61c627135a doc pages: Document kak_token_to_complete and kak_pos_in_token
Fixes #1845
2018-02-22 22:46:35 +11:00
Maxime Coste
e93c31ff0d doc.kak: stricter parsing of formatted text
Format markers such as *, _ or ` must be followed/preceeded by a non
whitespace character to be considered formatting marker.
2018-02-22 22:22:13 +11:00
Maxime Coste
026cf8af3a doc.kak: fix handling of lines begining with * or -
Those were considered as any other lines for paragraph joining,
threat them as a new paragraph start, to correctly handle asciidoc
lists.
2018-02-22 22:09:00 +11:00
Maxime Coste
99d1fee44c Merge remote-tracking branch 'Delapouite/trim' 2018-02-22 22:06:27 +11:00
Maxime Coste
13ac0e367d NCursesUI: Rework menu placement to fix missing menu on small window 2018-02-22 22:04:04 +11:00
Maxime Coste
35d68d2f82 Fix crash when iterating through options on window creation
Window::on_option_changed calls hooks, which can do anything
including adding/removing options in the various option managers

Fixes #1863
2018-02-21 22:47:41 +11:00
Maxime Coste
69a0ad09b4 Rewrite OptionManager::flatten_options to use ranges
Avoid accumulating the flattened options into a vector, generate
a lazy range that will give the proper list.
2018-02-20 23:32:51 +11:00
Maxime Coste
6d111d4bd7 Re-introduce aliases in command name completion
Aliases are considered again in command name completion, but only
if they are more than 3 charactes long. This should prevent cluttering
with aliases while still letting long ones being completed.
2018-02-20 23:32:31 +11:00
Maxime Coste
6239357e99 ranges: Support temporary parameters passed to concatenated 2018-02-20 21:55:06 +11:00
Maxime Coste
9b5b974397 iterm.kak: Implement focus support 2018-02-20 20:56:06 +11:00
Maxime Coste
fec34c3748 Json: Fix buffer overflow when reading json finishing with { or [
Fixes #1860
2018-02-20 07:42:10 +11:00
Maxime Coste
9755f7f8f2 make.kak: Fix echoing of error message when jumping
The use of `%{...%reg{...}}` was not being expanded correctly, as
the enclosing %{...} prevents the internal %expand{...} from being
considered.

The introduction of an additional command allows us to bypass
quoting hell as the expansion of %reg{5} could contain arbitrary
text.
2018-02-19 21:43:43 +11:00
Maxime Coste
cbf11d7a07 nim.kak: Fix wrong tr invocation 2018-02-19 21:24:36 +11:00
Maxime Coste
2c0eba9d95 user-modes: Fix incorrect use of keymap mode
The keymap mode was passed to on_next_key_with_autoinfo, which
means the mapping was applied directly by the InputHandler.

That led to the first key being interpretted as a mapping, then
all following keys being executed normally, as if typed in the
parent mode of the user mapping.
2018-02-19 21:03:29 +11:00
Maxime Coste
76f5fb937c Fix bug in command parsing post refactoring
Fixes #1857
2018-02-19 08:29:04 +11:00
Maxime Coste
fc60e29870 Small code tweaks regarding user modes 2018-02-18 20:24:34 +11:00
Maxime Coste
f88195d2d9 Merge remote-tracking branch 'Delapouite/user-mode' 2018-02-18 20:20:35 +11:00
Maxime Coste
4f75358ce3 lua.kak: Fix string highlighting with -match-capture regions
With the introduction of -match-capture for the lua region highlighter,
the string closing regex had spurious captures that were not going to
match.

Fixes #1850
2018-02-18 16:21:05 +11:00
Maxime Coste
eb2e44e0eb Makefile: use PKG_CONFIG to get static compilation flags as well 2018-02-18 15:43:28 +11:00
Maxime Coste
f8861734cf rc/: Replace simple uses of sed with tr 2018-02-18 15:00:30 +11:00
Maxime Coste
536fa29ed5 CommandManager: unescape % while parsing the string 2018-02-18 14:56:52 +11:00
Maxime Coste
dc30b0e6d6 Do not support general commands in filter mode 2018-02-18 14:54:21 +11:00