aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-10-09vis: fix g_ motion to never cross line boundariesMarc André Tanner1-3/+11
2016-10-08Teach vis-complete that ".." path segments in the prefix are acceptable.Tim Allen1-2/+9
Instead of trying to filter out path-segments-beginning-with-dot from the entire path (including the prefix, which would be perfectly legitimate), tell find to prune hidden directories and ignore hidden file as it walks the tree.
2016-10-08Quote meta-characters in the completion pattern.Tim Allen1-2/+7
Because we're completing text from the document, we can't assume it's going to be a sensible regex pattern, or glob pattern, let alone both, so we should quote the pattern before we hand it off to helper tools like grep and find.
2016-10-08Handle completing absolute paths, not just relative ones.Tim Allen1-2/+20
2016-10-07Don't use repeated shell evaluation in vis-complete.Tim Allen1-11/+3
Previously, vis-complete built up a command-line by repeated subtitution into a shell variable, then executing that shell variable in a subshell. I'm not entirely sure what shell-meta-character mischief would have been possible, but now we just do all the piping in the same shell which is much safer.
2016-10-07lexers: sync with scintillua changeset 571 rev 23435f1d82daMarc André Tanner4-16/+16
This fixes ":set syntax text" and adds a missing file association for the taskpaper lexer. The protobuf and crystal lexers were slightly reformatted, but should contain no functional changes.
2016-10-06Merge branch 'exit' of https://github.com/eworm-de/visMarc André Tanner1-1/+1
2016-10-06Merge branch 'pkgbuild-2' of https://github.com/eworm-de/visMarc André Tanner1-11/+19
2016-10-06use EXIT_FAILURE for exit statusChristian Hesse1-1/+1
2016-10-06lexers/pkgbuild: support arch specific variablesChristian Hesse1-11/+19
2016-10-05Harden vis-completeRichard Burke1-2/+7
2016-10-05vis-complete - Use different delimiter in sed commandRichard Burke1-1/+1
This is to avoid issues when handling file paths
2016-10-05Fix various issues reported by coverity scanMarc André Tanner5-6/+9
2016-10-05ui: fix resource leak, close file descriptorMarc André Tanner1-0/+1
2016-10-05vis: check return value of fcntl(2) callMarc André Tanner1-3/+4
2016-10-05lexers/pkgbuild: add a comment about pkgver, srcdir and startdirChristian Hesse1-0/+2
2016-10-05lexers/pkgbuild: match functions with parenthesesChristian Hesse1-1/+1
This solves a name conflict between 'pkgver' variable (which what highlighted in wrong color) and function.
2016-10-05lexers: reduce changes to scintilla core lexing codeMarc André Tanner1-39/+82
Based upon scintillua rev 568 id 55b15760cd31.
2016-10-05lexers: sync language lexers with scintillua rev 568 id 55b15760cd31Marc André Tanner2-2/+60
Adds a taskpaper lexer.
2016-10-05sam: show error message on failed writeChristian Hesse1-2/+4
2016-10-03vis: improve cursor positioning after scrollingMarc André Tanner3-15/+64
Make cursor placement after scrolling (half) pages up/down less arbitrary. Close #390, fix #391
2016-10-02vis: make <C-w> delete word instead of WORDMarc André Tanner1-1/+1
Close #392
2016-09-30sam: simplify :r command implementaionMarc André Tanner1-13/+6
Avoid intermediate shell.
2016-09-29sam: consistent argument handling for :r, :w, :e commandsMarc André Tanner3-26/+22
:e without any argument can be used to reload the file from disk whereas before a "Filename expected" error would be displayed.
2016-09-29view: change cursor line up/down off screen movementsMarc André Tanner1-2/+12
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
2016-09-29vis: fix % for angle bracketsMarc André Tanner1-1/+3
2016-09-29Cosmetic changes to file detection codeMarc André Tanner1-5/+7
2016-09-29Merge branch 'master' of https://github.com/lxyd/vis into filetypeMarc André Tanner1-124/+201
2016-09-28Replace win.file.lines with win.file:content for better performanceAlexey Dubinin1-3/+3
2016-09-27visrc: move global settings to start handlerMarc André Tanner1-2/+6
There is no need to set global settings for each window.
2016-09-27sam: allow non-latin command namesMarc André Tanner1-1/+1
Close #387
2016-09-27Better file type detection: full filename patterns, shebang, custom detector ↵Alexey Dubinin1-124/+201
functions
2016-09-26vis: also apply language map to operator pending modeMarc André Tanner1-1/+3
2016-09-25vis: disable language map for replacement character of `r` commandMarc André Tanner4-2/+13
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
2016-09-25vis: move file name and word completion logic to a shell scriptMarc André Tanner4-4/+42
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
2016-09-25sam: change license headerMarc André Tanner2-5/+17
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
2016-09-25text: improve variable namingMarc André Tanner1-116/+116
s/Action/Revision/g
2016-09-19vis: also list :set options in :help outputMarc André Tanner2-47/+59
The help formatting could probably be improved, short single line help texts are still missing. Patches welcome. Close #283
2016-09-19vis: add rudimentary builtin help for :-commandsMarc André Tanner2-50/+61
2016-09-19vis-lua: document lua file close eventMarc André Tanner1-0/+1
2016-09-19vis-lua: expose file save event to luaMarc André Tanner2-1/+8
Triggered after the new file content has been written to disk.
2016-09-19vis-lua: expose file open event to luaMarc André Tanner2-0/+8
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).
2016-09-19vis: do not invoke file save event for internal filesMarc André Tanner1-1/+1
2016-09-19vis: set correct reference count when splitting windowsMarc André Tanner1-1/+0
The refcount is already incremented in the `window_new_file` function, no need to do it again.
2016-08-24vis: implement gJ like behaviorMarc André Tanner4-14/+25
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
2016-08-24vis: add vis_mode_get functionMarc André Tanner2-0/+5
2016-08-24vis: improve dot (repeat) command implmentationMarc André Tanner6-16/+21
Do not override implicit operator macro in command mode. Fix #334
2016-08-24vis: improve unpaired text objectsMarc André Tanner1-6/+54
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
2016-08-24text-motions: improve matching quotation marks heuristicMarc André Tanner1-32/+55
Prefer quotation marks on the same line to when looking for matching pairs. Improves #358.
2016-08-24vis-lua: add win:draw() functionMarc André Tanner2-0/+9