Maxime Coste
996d8abef4
Write new buffers even when unmodified
...
Fixes #1794
2018-01-08 09:42:26 +11:00
Maxime Coste
9b83589b18
Completion: Use a heap to gather the best matches instead of sorting
...
Generalize the behaviour of `shell-candidates` to insert completion,
gather the best 100 matches by using a heap and poping max a hundred
times.
2017-12-21 12:55:29 +11:00
Maxime Coste
e0b28fa421
Introduce InputModeChange hook
...
InputModeChange <old mode>:<new mode> is intended to replace the various
<Mode>Begin/<Mode>End hooks.
Fixes #1772
2017-12-18 11:09:54 +11:00
Maxime Coste
4b06c09c68
Make edit
command work fine when running from an empty context
...
This way, the kind of context we get from a piped command allows
for opening a buffer and working with it directly.
2017-12-12 18:22:05 +11:00
Maxime Coste
99636c6230
Remove Vector returning split functions, use range adaptor
...
Do not allocate temporary vectors to store splitted data, use the
'split' range adaptor along with transform(unescape) to provide the
same feature with less allocations.
2017-12-06 17:18:44 +08:00
Maxime Coste
ec6ecd5772
Add an InsertCompletionSelect hook
...
InsertCompletionSelect will be called whenever the selected insert
completion changes. If the original text is selected back, the hook
parameter will be empty. If another candidate is selected, the hook
parameter will be its text content.
Fixes #1676
2017-11-25 13:57:47 +08:00
Delapouite
be94505e46
Add modified buffers count in error message of non-force quit
2017-11-20 19:25:47 +01:00
Maxime Coste
6bac767124
CommandManager: tweak naming
2017-11-04 16:02:21 +08:00
Frank LENORMAND
9127ed0d55
src rc: Rename exec
/eval
into execute-keys
/evaluate-commands
2017-11-03 11:09:45 +03:00
Maxime Coste
39e63cf518
Append '/' to highlighter group completion candidates
2017-11-02 18:05:18 +08:00
Maxime Coste
065bbc8f59
Regex: switch to custom impl, use boost for checking
2017-11-01 14:05:14 +08:00
Maxime Coste
94a0c9bb45
Highlighters does not need to inherit from HighlighterGroup
...
Just compose, to avoid coupling Highlighters with the Highlighter
interface. And yeah, that naming is a bit confusing.
2017-10-31 13:53:08 +08:00
Maxime Coste
6272847ace
Prompt: display the fallback text everytime the prompt is empty
2017-10-31 12:54:21 +11:00
Maxime Coste
d49555fc75
Move highlighters into Scopes
...
That means we can now have highlighters active at global, buffer, and
window scope. The add-highlighter and remove-highlighter syntax changed
to take the parent path (scope/group/...) as a mandatory argument,
superseeding the previous -group switch.
2017-10-28 13:43:04 +08:00
Maxime Coste
145cf843dd
Add a fail
command to explicitely raise an error
2017-10-17 10:25:16 +08:00
Maxime Coste
6ada6e6d77
Move all non-core string code to string_utils.{hh,cc}
2017-10-10 10:52:32 +08:00
Maxime Coste
3cfd3a3276
Merge remote-tracking branch 'Delapouite/debug-mappings'
2017-10-06 13:49:52 +08:00
Maxime Coste
1a20e26cc4
Allow itersel with draft context to change the buffer
...
That way we can cater to the use case of executing some keys for
`:grep` matches with `exec -itersel -draft :grep-jump<ret>...`
2017-10-06 13:48:16 +08:00
Delapouite
a63cf00b05
Add debug mappings
2017-10-03 23:00:08 +02:00
Delapouite
25f25df8f5
Add selections_desc format to select autoinfo
2017-09-26 12:51:52 +02:00
Delapouite
3c05b11196
Fix missing spaces / new lines in commands docstring
2017-09-21 10:56:20 +02:00
Delapouite
53090c0dd3
Add debug faces
2017-09-11 15:49:33 +02:00
Maxime Coste
ab6a999431
Rename containers.hh to ranges.hh (and Container to Range)
2017-08-29 15:23:03 +07:00
Maxime Coste
1709886873
avoid literal eol in status lines, replace them with another symbol
2017-08-29 10:01:43 +07:00
Maxime Coste
f7bed9eb18
Support specifying an exit status on quit
commands
...
The current client exit status can be specified as an optional
parameter, is nothing is given the exit status will be 0.
Fixes #1230
2017-08-23 13:33:13 +07:00
Maxime Coste
2050167d98
Add build type (debug/release) in ":debug info" output
2017-08-22 15:12:17 +07:00
Delapouite
233a459dee
Use single_param for ParameterDesc when relevant in command descs
2017-07-28 20:43:42 +02:00
Maxime Coste
d0dfcd2b78
Support values starting with -
for in set-register command
...
Fixes #1220
2017-07-25 11:38:13 +02:00
Delapouite
720ff62f03
Fix wrong autoinfo for remove-highlighter
2017-07-20 12:08:06 +02:00
Maxime Coste
9c4448ac41
Remove echo -color
support, superseeded by echo -markup
...
`echo -color Error "blah"` is the same as `echo -markup '{Error}blah'`
Fixes #1512
2017-07-19 17:18:52 +02:00
Maxime Coste
5ccf18d772
More use of std::enable_if_t alias
2017-07-19 08:55:24 +02:00
Maxime Coste
d37c3d175d
More uses of standard type traits aliases
2017-07-19 08:49:44 +02:00
Delapouite
8ed29dbd7a
Docs: add missing PromptIdle hook mentions
2017-07-05 13:45:45 +02:00
Maxime Coste
eb2984807c
Remove some dead code
2017-06-29 07:43:20 +01:00
Frank LENORMAND
dbabb19d81
src: Add profile-hash-maps
to the debug
command's docstring
2017-06-17 11:29:09 +03:00
Maxime Coste
f0f2b1c383
Trim whitespaces surrounding docstrings
...
Closes #1439
2017-06-16 10:48:14 +01:00
Maxime Coste
acc2dbf79c
Move variable closer to its point of use
2017-06-07 20:33:34 +01:00
Maxime Coste
56b52bdb3d
Filter debug buffers before creating the SafePtr vector in -buffer *
2017-06-07 20:25:39 +01:00
Maxime Coste
e947c20ce0
Do not disable incsearch option in context wrap
...
It will only trigger on idle, which should not happen during non-
interactive contexts.
2017-06-07 20:24:37 +01:00
Maxime Coste
f0285a8e60
Move hook executing logic into HookManager
...
The existing HookManager was able to run arbitrary hook functions,
but in practice was only used for user provided textual hooks.
That separation was causing some suboptimal performances, by moving
that logic directly in the hook manager we can improve hook filtering
performance which is a big part of startup time when opening lots
of files.
2017-06-07 12:33:39 +01:00
Maxime Coste
4606453fed
Avoid expensive copies of Hooks in HookManager::run_hooks
...
Use a deferred deletion mechanism to ensure hooks are kept alive
for the duration of run_hooks.
2017-06-07 12:15:16 +01:00
Maxime Coste
502c5da0e9
Fix useles copy of hook_func in HookManager::add_hook parameter
2017-06-07 09:54:58 +01:00
Maxime Coste
261e0fabcc
Improve readability of command docstrings by changing formatting
...
Fixes #1378
2017-06-04 08:37:51 +01:00
Maxime Coste
6906e6924b
Merge remote-tracking branch 'occivink/ignore-debug'
2017-06-03 15:26:51 +01:00
Maxime Coste
f6e00ff00f
Merge remote-tracking branch 'Delapouite/typo'
2017-05-29 10:20:21 +01:00
Maxime Coste
62def0f4df
Tweak alias command docstring not to end up with an eol
2017-05-28 19:58:24 +01:00
Olivier Perret
9697f61b0d
Exclude debug from eval/exec over all buffers
2017-05-27 23:44:53 +02:00
Delapouite
c9c868d4de
Fix typos in info-box: availabe, encodngs, highglighters…
2017-05-27 22:37:25 +02:00
Maxime Coste
83d85df26e
Add an update-option command to update range-descs/line-descs options
...
update-option will make the range-descs and line-descs option up to
date with the latest buffer modfications, changing the ranges/lines
to where they moved according the modifications since the timestamp
on the option.
2017-05-25 19:54:08 +01:00
Maxime Coste
c4db46b58b
Rename line-flags option type to line-specs
...
Generalize this option type, which is a timestamped list of
<line number>|<arbitrary string>. That way this type is not strongly
coupled with the flag-lines highlighter, and can be reused for other
use cases.
2017-05-24 15:41:43 +01:00