summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-11Reset parsing state after mbrtowc(3) failureMarc André Tanner
The standard says "if an encoding error occurs ... the conversion state is unspecified".
2018-02-28Merge branch 'vis-open-fixes' of https://github.com/kj/visMarc André Tanner
2018-02-28vis: improve handling of linewise ranges in change operatorMarc André Tanner
2018-02-28Add clojure lexer and filetype supportChristos Chatzifountas
Close #647
2018-02-28lexer: add reference to ReasonML homepageMarc André Tanner
2018-02-28Merge branch 'lexer-improvements' of https://github.com/roguh/visMarc André Tanner
2018-02-27Adds basic Reason ML lexer.Hugo Rivera
See https://reasonml.github.io/docs/en/comparison-to-ocaml.html for major differences between Reason and OCaml.
2018-02-27Add .yml as a YAML file extensionHugo Rivera
2018-02-27Add ^Vagrantfile$ as a Ruby file extensionHugo Rivera
2018-02-27vis: implement normal/outer paragraph text objectMarc André Tanner
2018-02-27text-object: implement more precise paragraph text objectMarc André Tanner
Fix #543 Close #588
2018-02-27text-motion: ignore blank lines for next/prev paragraph motionsMarc André Tanner
2018-02-27text-motion: implement text_line_blank_{prev,next}Marc André Tanner
2018-02-27vis: reset count after window scroll/slide actionsMarc André Tanner
Previously something like n<C-e> would also apply the count `n` to the subsequent action.
2018-02-24Fix asm lexer to correctly match conditional jcc, cmovcc, and setcc instructionsMiles Canfield
2018-02-19sam: fix g/^$/Marc André Tanner
With POSIX ERE the pattern ^$ matches strings ending with a new line because an empty match is reported after the trailing newline at the very end of the input. This is undesirable for use cases like x g/^$/ d which is supposed to delete all empty lines of a file. As a fix we disregard empty matches at the end of the given range.
2018-02-19configure: fix static lpeg detection messagesQuentin Rameau
2018-02-19Merge branch 'colors-6.1' of https://github.com/michaelforney/visMarc André Tanner
2018-02-19man: add a note about the visrc.lua structure to vis.1Peter Nagy
As seen in #669 I didn't *get it* one needs to have a special stub in `visrc.lua` for everything to work properly. Putting at least a few words in the man page might help some others like me in the future :) Close #671
2018-02-19Merge branch 'master' of https://github.com/ii8/visMarc André Tanner
2018-02-18Support COLOR_PAIRS > SHRT_MAXMichael Forney
In ncurses 6.1, the TERMINAL structure was updated[0] to store data in `int` instead of `short`, and terminfo definitions for 256-color terminals were updated from `pairs#32767` to `pairs#0x10000`. However, since vis stores the value of COLOR_PAIRS in a short (ncurses internally stores it as an int), it is now overflowing into negative, breaking color support completely. The standard `init_pair` entry points still use `short` for their parameters, so just restrict the pairs to `SHRT_MAX` during allocation. [0] http://invisible-island.net/ncurses/announce-6.1.html#h4-new-library
2018-01-27lua: recognize scheme library definition filesMurray Calavera
2018-01-27lexers: improve scheme lexerMurray Calavera
* fix character literals (#\" no longer quotes the entire file etc.) * properly nest block comments and support simplified datum comment * add r7rs keywords, functions and directives * fix identifiers - pipes were not recognized as delimiters - some valid identifiers were not recognized - some were partially parsed as keywords - quoting only worked on plain alphanumeric identifiers * fix numbers (some valid numbers were not recognised) * dont parse boolean constants as functions
2018-01-27lexers: pony missing tilde for unsafe operatorsMurray Calavera
2018-01-27vis-complete: send whole paths for completionTwoFinger
text_object_word() was only sending the last part of a pathname to vis-complete. text_object_longword() is better, but sometimes may send a bit too much, so leading delimiters for some languages are stripped additionally.
2018-01-27vis-complete: Strip the common partTwoFinger
The previous commit would generate duplicate entries when files with the same name exist in more than one directory.
2018-01-27vis-complete: Show just basenames in vis-menuTwoFinger
2018-01-27vis-complete: Slight refactoringTwoFinger
Move the "case $PATTERN" block inside "if $COMPLETE_WORD" to make it clear that it is specific only to the "else" branch. Eliminate the $START variable - it was used only once, and using dirname(1) directly is obvious enough. Remove the comments inside the "case" block (explaining the "what") and replaced them with a single comment explaining the "why".
2018-01-26test: updateMarc André Tanner
2018-01-26vis: keep <C-j> mapped to <Enter> in command line windowMarc André Tanner
This keeps the existing testing infrastructure, which pipes newline separated commands to stdin, working.
2018-01-26vis: insert carriage return upon <C-v><C-j> in insert modeMarc André Tanner
Fix #656
2018-01-26vis: insert literal new line upon <C-j> in insert modeMarc André Tanner
2018-01-26build: abort configure scripts upon interruptsMarc André Tanner
Fix #607
2018-01-26lua: reap the zombie after io.popen()Casper Ti. Vector
Close #655
2018-01-26build: use pkg-config to find lpegTwoFinger
2018-01-24PHP lexer: stop line comments right before ?>pystub
This allows to end PHP code sections. Otherwise token is treated as part of the comment and parser continues to parse whatever is after.
2018-01-22lua: fix theme loading when lexer module is not availableMarc André Tanner
The color settings are currently stored in the `vis.lexers` table, make sure it is not nil even when loading the lexer module (or one of its dependencies e.g. lpeg) failed.
2018-01-05vis: remove now unused variable in prompt handling codeMarc André Tanner
2018-01-04vis-open: fix creating new files in selected directoryKelsey Judson
2018-01-03vis: fix command malfunction triggered by special cursor positionCasper Ti. Vector
At the command prompt, commands were not recognized properly when the cursor was placed on a delimiting character (:, ?, /) while pressing enter. Fix #653
2018-01-01vis-open: fix for absolute and non-existent pathsKelsey Judson
When the shell cannot find any matching files, the glob is not expanded, and vis-open will return the absolute path of the current working directory (because dirname outputs '.'), followed by the filename, followed by a literal '*'. This commit checks that the final path actually exists, and if not, exits with status 1. It also uses text_object_longword for the range to match, so that absolute paths are accepted, and replaced properly (else it only works back to the first '/').
2017-12-25lexers: add ponyMurray Calavera
2017-12-21vis: do not override default register on delete operations in insert modeMarc André Tanner
Fix #644
2017-12-21vis: improve `cw` behaviorMarc André Tanner
Correctly handle single letter words surrounded by special symbols, e.g. [c]. Fix #643
2017-12-21Add a key combo example of mark usageJavier Olaechea
2017-12-09vis: make selections visible when lua support has been disabledMarc André Tanner
When the fore and background colors are the same, swapping them has no effect. Instead use the specified cell attributes. Previously the CELL_ATTR_REVERSE used in the default selection style was ignored. In general the default style definitions for non-Lua builds could probably be improved further. Fix #635
2017-12-08vis: let <C-c> behave as <Escape> if only one selection existsMarc André Tanner
This should allow the :-command prompt to be closed with <C-c><C-c> (from insert mode) or <C-c> (from normal mode). Fix #608
2017-12-07build: update alpine in docker build to version 3.7Christian Hesse
2017-12-02build: remove erroneous libtermkey dependencyMarc André Tanner
Fix #636
2017-12-01Python lexer: recognize python3's async/await keywordsСемён Марьясин