| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This solves a name conflict between 'pkgver' variable (which what highlighted
in wrong color) and function.
|
|
Based upon scintillua rev 568 id 55b15760cd31.
|
|
Adds a taskpaper lexer.
|
|
|
|
Make cursor placement after scrolling (half) pages up/down less arbitrary.
Close #390, fix #391
|
|
Close #392
|
|
Avoid intermediate shell.
|
|
:e without any argument can be used to reload the file from
disk whereas before a "Filename expected" error would be
displayed.
|
|
Previously the cursor would be placed in the middle of
the screen thus causing a distracting jump. Instead try
to scroll the view port by only 1 line when the cursor
is moved out of the visible area.
The current implementation might be quite a bit slower
than before, use page-wise scrolling to skip large
regions.
At some point we should optimize motions like 1000j.
Close #301
|
|
|
|
|
|
|
|
|
|
There is no need to set global settings for each window.
|
|
Close #387
|
|
functions
|
|
|
|
The character following the `r` command in normal mode should be
treated as regular input given in insert/replace mode, that is no
tranformation should be applied. Temporarily disable the language
map for this reason.
Close #382
|
|
The shell script should be reviewed for quoting issues, currently
it allows command injections as in:
$ vis-complete "'; rm -f some-file; echo "
However it is intended for interactive usage and from within vis
it is only ever called with a valid completion prefix.
The file name completion logic now supports nested directories.
Close #347
|
|
We use an adapted variant of sam's structural regular expression
based command language. The initial implementation was partially
based upon the following functions from sam / acme:
* parse.h / edit.h (struct definitions)
* cmd.c / edit.c (functions parsecmd, simpleaddr, compoundaddr)
* xec.c / ecmd.c (cmdexec)
* address.c / addr.c (address)
It turns out the relevant code can be traced back to the initial
X11 port of sam which is distributed under an ISC-like license
instead of the Lucent Public License Version 1.02 used for Plan 9,
plan9port and 9base.
http://www.netlib.org/research/
http://www.netlib.org/research/sam.shar
Hence we switch to the simpler license variant.
Close #238
|
|
s/Action/Revision/g
|
|
The help formatting could probably be improved, short
single line help texts are still missing. Patches welcome.
Close #283
|
|
|
|
|
|
Triggered after the new file content has been written to disk.
|
|
The event is only triggerred for new files read from disk (e.g.
splitting an existing window will not cause an event to be emitted).
|
|
|
|
The refcount is already incremented in the `window_new_file`
function, no need to do it again.
|
|
The behavior is not exactly the same because vim preserves any
existing white spaces wihle we remove existing ones but do
not insert additional ones.
The vim behavior (essentially only deleating new lines) can be
achived using something like:
:x/\n/d
Close #374
|
|
|
|
Do not override implicit operator macro in command mode.
Fix #334
|
|
For unpaired text objects delimited by ", ' or ` if there is no preceding
symbol on the same line, advance starting position to first occurence on
the same line.
As a result ci" can be used to change the inner quotes on the same line
even if the cursor is currently to the left of the opening quote.
If the line contains no such symbol at all then the text objects will
will continue to match across line boundaries. This behavior is different
in vim where for example a ci" command on a line without any quotes has
no effect.
Close #358
|
|
Prefer quotation marks on the same line to when looking for matching pairs.
Improves #358.
|
|
|
|
Let vis_keys_feed always have an immediate effect. Previously,
if called from a key input handler the keys would just be added
to the input queue and processed once the current key handler
returned.
This also affects the exposed Lua API.
|
|
|
|
The regex(3) API we currently use, matches on NUL terminated strings.
Therefore it does not work for binary data. This commit adds loops
to manually skip over NUL bytes. While it does not work for patterns
which would match strings containing NUL bytes, it should improve the
most basic cases.
Binary file handling will need further improvements in the future.
Fixes #359.
|
|
This has the effect that ~ and $HOME will be expanded by the shell.
However it also opens files which do not yet exist.
Fixes #346
|
|
In general it might be a better idea to specify these kinds of text
objects in terms of characters belonging to them rather than listing
a set of delimiting characters.
Fixes #350
|
|
If a cursor is not currently visible it has no associated screen line.
Fallback to the corresponding logical line based variant. For example
`gj` is interpreted as `j`.
Fixes #354
|
|
|
|
Close #353
|
|
Fixes #364
|
|
Handling of unbalanced quotes could probably still be improved.
Closes #344
|
|
`vis.filetypes` can be found on [line 72 of `vis.lua`](https://github.com/martanne/vis/blob/master/vis.lua#L72), but is not present at all in lexer.lua.
Fix `lexers/README.md` to avoid further confusion.
|
|
Might fix #248
|
|
|
|
Except for special cases like gn and gN vis expected that a text object
would be a function mapping a position to a range as follows:
f: pos -> [start, end] with start <= f(pos) <= end
Clearly this condition does not hold for inner text objects when the
initial position i.e. the cursor is on the opening delimiter.
This also obsoletes the need for the SPLIT text object flag which should
be removed in a later commit if the current behavior is found to be
working as expected.
|
|
|