vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

ModeNameSize
-rw-r--r--.builds/alpine.yml18L
-rw-r--r--.builds/debian.yml22L
-rw-r--r--.builds/freebsd.yml17L
-rw-r--r--.builds/openbsd.yml16L
-rw-r--r--.codecov.yml10L
-rw-r--r--.editorconfig12L
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml36L
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml8L
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.yml13L
-rw-r--r--.github/workflows/coverity-scan.yml58L
-rw-r--r--.github/workflows/luacheck.yml20L
-rw-r--r--.github/workflows/luadoc.yml39L
-rw-r--r--.github/workflows/macos.yml57L
-rw-r--r--.github/workflows/man.yml38L
-rw-r--r--.github/workflows/ubuntu.yml57L
-rw-r--r--.github/workflows/windows.yml.NOACTIVE66L
-rw-r--r--.gitignore15L
-rw-r--r--.luacheckrc5L
-rw-r--r--CHANGELOG.md385L
-rw-r--r--Dockerfile35L
-rw-r--r--GNUmakefile102L
-rw-r--r--LICENSE40L
-rw-r--r--Makefile234L
-rw-r--r--README.md131L
-rw-r--r--array.c164L
-rw-r--r--array.h129L
-rw-r--r--buffer.c146L
-rw-r--r--buffer.h56L
-rw-r--r--config.def.h356L
-rwxr-xr-xconfigure665L
-rw-r--r--doc/.gitignore1L
-rw-r--r--doc/Doxyfile2964L
-rw-r--r--doc/Makefile20L
-rw-r--r--doc/array.rst4L
-rw-r--r--doc/buffer.rst4L
-rw-r--r--doc/conf.py178L
-rw-r--r--doc/index.rst12L
-rw-r--r--doc/map.rst4L
-rw-r--r--doc/requirements.txt1L
-rw-r--r--doc/text.rst129L
-rw-r--r--doc/view.rst110L
-rw-r--r--doc/vis.rst187L
-rw-r--r--event-basic.c18L
-rw-r--r--libutf.c53L
-rw-r--r--libutf.h34L
-rw-r--r--lua/doc/README.md37L
-rw-r--r--lua/doc/config.ld15L
l---------lua/lexer.lua1L
-rw-r--r--lua/lexers/LICENSE21L
-rw-r--r--lua/lexers/README.md103L
-rw-r--r--lua/lexers/actionscript.lua60L
-rw-r--r--lua/lexers/ada.lua49L
-rw-r--r--lua/lexers/antlr.lua57L
-rw-r--r--lua/lexers/apdl.lua79L
-rw-r--r--lua/lexers/apl.lua57L
-rw-r--r--lua/lexers/applescript.lua71L
-rw-r--r--lua/lexers/asm.lua399L
-rw-r--r--lua/lexers/asp.lua31L
-rw-r--r--lua/lexers/autohotkey.lua164L
-rw-r--r--lua/lexers/autoit.lua137L
-rw-r--r--lua/lexers/awk.lua295L
-rw-r--r--lua/lexers/bash.lua138L
-rw-r--r--lua/lexers/batch.lua55L
-rw-r--r--lua/lexers/bibtex.lua48L
-rw-r--r--lua/lexers/boo.lua66L
-rw-r--r--lua/lexers/c.lua213L
-rw-r--r--lua/lexers/caml.lua65L
-rw-r--r--lua/lexers/chuck.lua102L
-rw-r--r--lua/lexers/clojure.lua148L
-rw-r--r--lua/lexers/cmake.lua493L
-rw-r--r--lua/lexers/coffeescript.lua50L
-rw-r--r--lua/lexers/container.lua5L
-rw-r--r--lua/lexers/context.lua54L
-rw-r--r--lua/lexers/cpp.lua287L
-rw-r--r--lua/lexers/crystal.lua98L
-rw-r--r--lua/lexers/csharp.lua65L
-rw-r--r--lua/lexers/css.lua201L
-rw-r--r--lua/lexers/cuda.lua62L
-rw-r--r--lua/lexers/d.lua141L
-rw-r--r--lua/lexers/dart.lua56L
-rw-r--r--lua/lexers/desktop.lua49L
-rw-r--r--lua/lexers/diff.lua25L
-rw-r--r--lua/lexers/django.lua63L
-rw-r--r--lua/lexers/dockerfile.lua47L
-rw-r--r--lua/lexers/dot.lua57L
-rw-r--r--lua/lexers/dsv.lua12L
-rw-r--r--lua/lexers/eiffel.lua59L
-rw-r--r--lua/lexers/elixir.lua99L
-rw-r--r--lua/lexers/elm.lua45L
-rw-r--r--lua/lexers/erlang.lua90L
-rw-r--r--lua/lexers/factor.lua71L
-rw-r--r--lua/lexers/fantom.lua84L
-rw-r--r--lua/lexers/faust.lua46L
-rw-r--r--lua/lexers/fennel.lua45L
-rw-r--r--lua/lexers/fish.lua58L
-rw-r--r--lua/lexers/forth.lua58L
-rw-r--r--lua/lexers/fortran.lua87L
-rw-r--r--lua/lexers/fsharp.lua59L
-rw-r--r--lua/lexers/fstab.lua127L
-rw-r--r--lua/lexers/gap.lua45L
-rw-r--r--lua/lexers/gemini.lua23L
-rw-r--r--lua/lexers/gettext.lua31L
-rw-r--r--lua/lexers/gherkin.lua39L
-rw-r--r--lua/lexers/git-rebase.lua39L
-rw-r--r--lua/lexers/gleam.lua120L
-rw-r--r--lua/lexers/glsl.lua117L
-rw-r--r--lua/lexers/gnuplot.lua70L
-rw-r--r--lua/lexers/go.lua71L
-rw-r--r--lua/lexers/groovy.lua68L
-rw-r--r--lua/lexers/gtkrc.lua57L
-rw-r--r--lua/lexers/hare.lua81L
-rw-r--r--lua/lexers/haskell.lua47L
-rw-r--r--lua/lexers/html.lua152L
-rw-r--r--lua/lexers/icon.lua61L
-rw-r--r--lua/lexers/idl.lua52L
-rw-r--r--lua/lexers/inform.lua76L
-rw-r--r--lua/lexers/ini.lua39L
-rw-r--r--lua/lexers/io_lang.lua51L
-rw-r--r--lua/lexers/java.lua142L
-rw-r--r--lua/lexers/javascript.lua98L
-rw-r--r--lua/lexers/jq.lua84L
-rw-r--r--lua/lexers/json.lua28L
-rw-r--r--lua/lexers/jsp.lua20L
-rw-r--r--lua/lexers/julia.lua112L
-rw-r--r--lua/lexers/latex.lua44L
-rw-r--r--lua/lexers/ledger.lua45L
-rw-r--r--lua/lexers/less.lua19L
-rw-r--r--lua/lexers/lexer.lua2087L
-rw-r--r--lua/lexers/lilypond.lua32L
-rw-r--r--lua/lexers/lisp.lua62L
-rw-r--r--lua/lexers/litcoffee.lua19L
-rw-r--r--lua/lexers/logtalk.lua64L
-rw-r--r--lua/lexers/lua.lua144L
-rw-r--r--lua/lexers/makefile.lua121L
-rw-r--r--lua/lexers/man.lua22L
-rw-r--r--lua/lexers/markdown.lua151L
-rw-r--r--lua/lexers/matlab.lua90L
-rw-r--r--lua/lexers/mediawiki.lua44L
-rw-r--r--lua/lexers/meson.lua129L
-rw-r--r--lua/lexers/moonscript.lua144L
-rw-r--r--lua/lexers/myrddin.lua54L
-rw-r--r--lua/lexers/nemerle.lua66L
-rw-r--r--lua/lexers/networkd.lua101L
-rw-r--r--lua/lexers/nim.lua97L
-rw-r--r--lua/lexers/nix.lua101L
-rw-r--r--lua/lexers/nsis.lua150L
-rw-r--r--lua/lexers/null.lua4L
-rw-r--r--lua/lexers/objeck.lua59L
-rw-r--r--lua/lexers/objective_c.lua69L
-rw-r--r--lua/lexers/org.lua104L
-rw-r--r--lua/lexers/output.lua112L
-rw-r--r--lua/lexers/pascal.lua64L
-rw-r--r--lua/lexers/perl.lua161L
-rw-r--r--lua/lexers/php.lua107L
-rw-r--r--lua/lexers/pico8.lua35L
-rw-r--r--lua/lexers/pike.lua54L
-rw-r--r--lua/lexers/pkgbuild.lua79L
-rw-r--r--lua/lexers/pony.lua96L
-rw-r--r--lua/lexers/powershell.lua62L
-rw-r--r--lua/lexers/prolog.lua350L
-rw-r--r--lua/lexers/props.lua36L
-rw-r--r--lua/lexers/protobuf.lua48L
-rw-r--r--lua/lexers/ps.lua49L
-rw-r--r--lua/lexers/pure.lua50L
-rw-r--r--lua/lexers/python.lua128L
-rw-r--r--lua/lexers/r.lua52L
-rw-r--r--lua/lexers/rails.lua41L
-rw-r--r--lua/lexers/rc.lua52L
-rw-r--r--lua/lexers/reason.lua67L
-rw-r--r--lua/lexers/rebol.lua103L
-rw-r--r--lua/lexers/rest.lua210L
-rw-r--r--lua/lexers/rexx.lua78L
-rw-r--r--lua/lexers/rhtml.lua20L
-rw-r--r--lua/lexers/routeros.lua60L
-rw-r--r--lua/lexers/rpmspec.lua49L
-rw-r--r--lua/lexers/ruby.lua127L
-rw-r--r--lua/lexers/rust.lua90L
-rw-r--r--lua/lexers/sass.lua21L
-rw-r--r--lua/lexers/scala.lua61L
-rw-r--r--lua/lexers/scheme.lua175L
-rw-r--r--lua/lexers/smalltalk.lua46L
-rw-r--r--lua/lexers/sml.lua93L
-rw-r--r--lua/lexers/snobol4.lua71L
-rw-r--r--lua/lexers/spin.lua70L
-rw-r--r--lua/lexers/sql.lua64L
-rw-r--r--lua/lexers/strace.lua31L
-rw-r--r--lua/lexers/systemd.lua142L
-rw-r--r--lua/lexers/taskpaper.lua27L
-rw-r--r--lua/lexers/tcl.lua47L
-rw-r--r--lua/lexers/template.txt40L
-rw-r--r--lua/lexers/tex.lua28L
-rw-r--r--lua/lexers/texinfo.lua207L
-rw-r--r--lua/lexers/text.lua12L
-rw-r--r--lua/lexers/toml.lua44L
-rw-r--r--lua/lexers/troff.lua42L
-rw-r--r--lua/lexers/txt2tags.lua131L
-rw-r--r--lua/lexers/typescript.lua18L
-rw-r--r--lua/lexers/vala.lua62L
-rw-r--r--lua/lexers/vb.lua68L
-rw-r--r--lua/lexers/vcard.lua71L
-rw-r--r--lua/lexers/verilog.lua89L
-rw-r--r--lua/lexers/vhdl.lua72L
-rw-r--r--lua/lexers/wsf.lua87L
-rw-r--r--lua/lexers/xml.lua75L
-rw-r--r--lua/lexers/xs.lua60L
-rw-r--r--lua/lexers/xtend.lua88L
-rw-r--r--lua/lexers/yaml.lua106L
-rw-r--r--lua/lexers/zig.lua93L
-rw-r--r--lua/plugins/complete-filename.lua58L
-rw-r--r--lua/plugins/complete-word.lua37L
-rw-r--r--lua/plugins/digraph.lua23L
-rw-r--r--lua/plugins/filetype.lua648L
-rw-r--r--lua/plugins/number-inc-dec.lua59L
-rw-r--r--lua/plugins/textobject-lexer.lua35L
-rw-r--r--lua/themes/base-16.lua158L
l---------lua/themes/default.lua1L
-rw-r--r--lua/themes/solarized.lua189L
-rw-r--r--lua/themes/zenburn.lua39L
-rw-r--r--lua/vis-std.lua143L
-rw-r--r--lua/vis.lua336L
-rw-r--r--lua/visrc.lua11L
-rw-r--r--main.c2338L
-rw-r--r--man/vis-clipboard.1104L
-rw-r--r--man/vis-complete.178L
-rw-r--r--man/vis-digraph.168L
-rw-r--r--man/vis-menu.1248L
-rw-r--r--man/vis-open.1108L
-rw-r--r--man/vis.11636L
-rw-r--r--map.c362L
-rw-r--r--map.h110L
-rw-r--r--sam.c1802L
-rw-r--r--sam.h30L
-rw-r--r--test/.gitignore3L
-rw-r--r--test/LICENSE13L
-rw-r--r--test/Makefile16L
-rw-r--r--test/README.md54L
-rw-r--r--test/core/.gitignore13L
-rw-r--r--test/core/Makefile66L
-rw-r--r--test/core/README.md9L
-rw-r--r--test/core/array-test.c213L
-rw-r--r--test/core/buffer-test.c74L
-rw-r--r--test/core/ccan-config.c571L
l---------test/core/ccan/compiler/LICENSE1L
-rw-r--r--test/core/ccan/compiler/_info64L
-rw-r--r--test/core/ccan/compiler/compiler.h231L
-rw-r--r--test/core/ccan/compiler/test/compile_fail-printf.c22L
-rw-r--r--test/core/ccan/compiler/test/run-is_compile_constant.c15L
-rw-r--r--test/core/ccan/tap/_info61L
-rw-r--r--test/core/ccan/tap/tap.3362L
-rw-r--r--test/core/ccan/tap/tap.c459L
-rw-r--r--test/core/ccan/tap/tap.h251L
-rw-r--r--test/core/ccan/tap/test/run.c133L
-rw-r--r--test/core/licenses/CC028L
-rw-r--r--test/core/map-test.c115L
-rw-r--r--test/core/tap.h58L
-rw-r--r--test/core/text-test.c403L
-rw-r--r--test/fuzz/.gitignore4L
-rw-r--r--test/fuzz/Makefile47L
-rw-r--r--test/fuzz/README.md30L
-rw-r--r--test/fuzz/buffer-fuzzer.c105L
-rw-r--r--test/fuzz/dictionaries/buffer-fuzzer.dict15L
-rw-r--r--test/fuzz/dictionaries/text-fuzzer.dict20L
l---------test/fuzz/dictionaries/text-libfuzzer.dict1L
-rw-r--r--test/fuzz/fuzzer.h18L
-rw-r--r--test/fuzz/inputs/buffer-fuzzer/buffer-fuzzer.in9L
-rw-r--r--test/fuzz/inputs/text-fuzzer/text-fuzzer.in13L
l---------test/fuzz/inputs/text-libfuzzer/text-libfuzzer.in1L
-rw-r--r--test/fuzz/text-fuzzer.c317L
-rw-r--r--test/lua/Makefile16L
-rw-r--r--test/lua/README.md12L
-rw-r--r--test/lua/cursor.in9L
-rw-r--r--test/lua/cursor.lua104L
-rw-r--r--test/lua/file-empty.in0B
-rw-r--r--test/lua/file-empty.lua20L
-rw-r--r--test/lua/lines.in5L
-rw-r--r--test/lua/lines.lua92L
-rw-r--r--test/lua/map-basic.lua64L
-rw-r--r--test/lua/pipe.in1L
-rw-r--r--test/lua/pipe.lua84L
-rwxr-xr-xtest/lua/test.sh40L
-rw-r--r--test/lua/visrc.lua127L
-rw-r--r--test/sam/.gitignore3L
-rw-r--r--test/sam/Makefile12L
-rw-r--r--test/sam/README.md73L
-rw-r--r--test/sam/addresses/columns.cmd4L
-rw-r--r--test/sam/addresses/columns.in5L
-rw-r--r--test/sam/addresses/first-last.cmd4L
-rw-r--r--test/sam/addresses/first-last.in4L
-rw-r--r--test/sam/addresses/lines.cmd6L
-rw-r--r--test/sam/addresses/lines.in20L
-rw-r--r--test/sam/addresses/second.cmd4L
-rw-r--r--test/sam/addresses/second.in4L
-rw-r--r--test/sam/commands/filter-capitalize.cmd1L
-rw-r--r--test/sam/commands/filter-capitalize.in1L
-rw-r--r--test/sam/commands/group.cmd5L
-rw-r--r--test/sam/commands/group.in1L
-rw-r--r--test/sam/commands/long-text.cmd11L
-rw-r--r--test/sam/commands/long-text.in0B
-rw-r--r--test/sam/commands/loop-empty-match1.cmd4L
-rw-r--r--test/sam/commands/loop-empty-match1.in1L
-rw-r--r--test/sam/commands/loop-empty-match2.cmd4L
-rw-r--r--test/sam/commands/loop-empty-match2.in1L
-rw-r--r--test/sam/commands/loop-empty-match3.cmd4L
-rw-r--r--test/sam/commands/loop-empty-match3.in1L
-rw-r--r--test/sam/commands/loop-empty-match4.cmd4L
-rw-r--r--test/sam/commands/loop-empty-match4.in1L
-rw-r--r--test/sam/commands/loop-lines.in10L
-rw-r--r--test/sam/commands/loop-lines1.cmd1L
l---------test/sam/commands/loop-lines1.in1L
-rw-r--r--test/sam/commands/loop-lines2.cmd1L
l---------test/sam/commands/loop-lines2.in1L
-rw-r--r--test/sam/commands/loop-lines3.cmd1L
l---------test/sam/commands/loop-lines3.in1L
-rw-r--r--test/sam/commands/loop-lines4.cmd1L
l---------test/sam/commands/loop-lines4.in1L
-rw-r--r--test/sam/commands/loop-lines5.cmd1L
l---------test/sam/commands/loop-lines5.in1L
-rw-r--r--test/sam/commands/loop-lines6.cmd1L
l---------test/sam/commands/loop-lines6.in1L
-rw-r--r--test/sam/commands/loop-lines7.cmd1L
l---------test/sam/commands/loop-lines7.in1L
-rw-r--r--test/sam/commands/loop-lines8.cmd1L
l---------test/sam/commands/loop-lines8.in1L
-rw-r--r--test/sam/commands/loop-lines9.cmd1L
l---------test/sam/commands/loop-lines9.in1L
-rw-r--r--test/sam/commands/pipe-in.cmd3L
-rw-r--r--test/sam/commands/pipe-in.in10L
-rw-r--r--test/sam/commands/pipe-out.cmd5L
-rw-r--r--test/sam/commands/pipe-out.in1L
-rw-r--r--test/sam/commands/repeated-shell.cmd2L
-rw-r--r--test/sam/commands/repeated-shell.in2L
-rw-r--r--test/sam/commands/unicode-replace.cmd1L
-rw-r--r--test/sam/commands/unicode-replace.in5L
-rw-r--r--test/sam/errors/conflict.cmd4L
-rw-r--r--test/sam/errors/conflict.in1L
-rw-r--r--test/sam/errors/read.cmd1L
-rw-r--r--test/sam/errors/read.in1L
-rw-r--r--test/sam/errors/unbalanced-group.cmd5L
-rw-r--r--test/sam/errors/unbalanced-group.in1L
-rw-r--r--test/sam/examples/comment-functions.cmd4L
-rw-r--r--test/sam/examples/comment-functions.in15L
-rw-r--r--test/sam/examples/delete-empty-lines.cmd1L
-rw-r--r--test/sam/examples/delete-empty-lines.in17L
-rw-r--r--test/sam/examples/swap-words.cmd4L
-rw-r--r--test/sam/examples/swap-words.in1L
-rwxr-xr-xtest/sam/test.sh96L
-rw-r--r--test/sam/visrc.lua14L
-rw-r--r--test/util/.gitignore1L
-rw-r--r--test/util/Makefile11L
-rw-r--r--test/util/README.md9L
-rw-r--r--test/util/keys.c182L
-rw-r--r--test/vim/.gitignore3L
-rw-r--r--test/vim/Makefile15L
-rw-r--r--test/vim/README.md37L
-rw-r--r--test/vim/golf/4d1a34ccfa85f32065000004/1.in13L
-rw-r--r--test/vim/golf/4d1a34ccfa85f32065000004/1.keys6L
-rw-r--r--test/vim/golf/4d1a34ccfa85f32065000004/1.ref13L
-rw-r--r--test/vim/golf/4d1ac1800a045132c0000011/1.in2L
-rw-r--r--test/vim/golf/4d1ac1800a045132c0000011/1.keys9L
-rw-r--r--test/vim/golf/4d1ac1800a045132c0000011/1.ref7L
-rw-r--r--test/vim/golf/4d665abd7d73e02a55000009/1.in3L
-rw-r--r--test/vim/golf/4d665abd7d73e02a55000009/1.keys.broken16L
-rw-r--r--test/vim/golf/4d665abd7d73e02a55000009/1.ref14L
-rw-r--r--test/vim/golf/4ddbd92898957e0001000016/1.in24L
-rw-r--r--test/vim/golf/4ddbd92898957e0001000016/1.keys8L
-rw-r--r--test/vim/golf/4ddbd92898957e0001000016/1.ref24L
-rw-r--r--test/vim/golf/4e31627b74ab580001000007/1.disabled22L
-rw-r--r--test/vim/golf/4e31627b74ab580001000007/1.in28L
-rw-r--r--test/vim/golf/4e31627b74ab580001000007/1.ref26L
-rw-r--r--test/vim/golf/4ef209ef78702b0001000019/1.in19L
-rw-r--r--test/vim/golf/4ef209ef78702b0001000019/1.keys6L
-rw-r--r--test/vim/golf/4ef209ef78702b0001000019/1.ref29L
-rw-r--r--test/vim/golf/4fbf8e303be58b0001000024/1.in1L
-rw-r--r--test/vim/golf/4fbf8e303be58b0001000024/1.keys14L
-rw-r--r--test/vim/golf/4fbf8e303be58b0001000024/1.ref32L
-rw-r--r--test/vim/golf/50ad2cb165b8db0002000029/1.in18L
-rw-r--r--test/vim/golf/50ad2cb165b8db0002000029/1.keys12L
-rw-r--r--test/vim/golf/50ad2cb165b8db0002000029/1.ref7L
-rw-r--r--test/vim/golf/50b1d7239aad89000200002d/1.in10L
-rw-r--r--test/vim/golf/50b1d7239aad89000200002d/1.ref1L
-rw-r--r--test/vim/golf/50c13afab855760002000049/1.in24L
-rw-r--r--test/vim/golf/50c13afab855760002000049/1.ref24L
-rw-r--r--test/vim/golf/50c18a08b855760002000056/1.in162L
-rw-r--r--test/vim/golf/50c18a08b855760002000056/1.keys.broken8L
-rw-r--r--test/vim/golf/50c18a08b855760002000056/1.ref162L
-rw-r--r--test/vim/golf/50c2c246b0544c000200003f/1.in11L
-rw-r--r--test/vim/golf/50c2c246b0544c000200003f/1.ref11L
-rw-r--r--test/vim/golf/50d0c33daa503f000200000f/1.in1L
-rw-r--r--test/vim/golf/50d0c33daa503f000200000f/1.ref1L
-rw-r--r--test/vim/golf/50ee7504c0e3aa0002000040/1.in1L
-rw-r--r--test/vim/golf/50ee7504c0e3aa0002000040/1.ref25L
-rw-r--r--test/vim/golf/51103ad8041832000200003f/1.in1L
-rw-r--r--test/vim/golf/51103ad8041832000200003f/1.ref21L
-rw-r--r--test/vim/golf/5192f96ad8df110002000002/1.in2L
-rw-r--r--test/vim/golf/5192f96ad8df110002000002/1.ref2L
-rw-r--r--test/vim/golf/524e1a20b81fe50002000008/1.in3L
-rw-r--r--test/vim/golf/524e1a20b81fe50002000008/1.ref8L
-rw-r--r--test/vim/golf/52c3cb0d9b8634000200000e/1.in1L
-rw-r--r--test/vim/golf/52c3cb0d9b8634000200000e/1.ref1L
-rw-r--r--test/vim/golf/53369b712a09c1000223fb57/1.in15L
-rw-r--r--test/vim/golf/53369b712a09c1000223fb57/1.ref15L
-rw-r--r--test/vim/golf/536cfa23fcccd100025678bd/1.in1L
-rw-r--r--test/vim/golf/536cfa23fcccd100025678bd/1.ref2L
-rw-r--r--test/vim/golf/537a553282aa3e000222048a/1.in14L
-rw-r--r--test/vim/golf/537a553282aa3e000222048a/1.ref14L
-rw-r--r--test/vim/golf/53d93fc3768e280002124f23/1.in1L
-rw-r--r--test/vim/golf/53d93fc3768e280002124f23/1.ref1L
-rw-r--r--test/vim/golf/54595b13128576000257a3c1/1.in6L
-rw-r--r--test/vim/golf/54595b13128576000257a3c1/1.ref6L
-rw-r--r--test/vim/golf/5462e3f41198b80002512673/1.in3L
-rw-r--r--test/vim/golf/5462e3f41198b80002512673/1.ref3L
-rw-r--r--test/vim/golf/54698da795f6da00020d85ed/1.in6L
-rw-r--r--test/vim/golf/54698da795f6da00020d85ed/1.ref3L
-rw-r--r--test/vim/golf/54862fbb3f90ac0002904cf5/1.in8L
-rw-r--r--test/vim/golf/54862fbb3f90ac0002904cf5/1.ref3L
-rw-r--r--test/vim/golf/55771cc4750ef86573003b83/1.in11L
-rw-r--r--test/vim/golf/55771cc4750ef86573003b83/1.ref11L
-rw-r--r--test/vim/golf/559c30948ef59c0eb7000002/1.in5L
-rw-r--r--test/vim/golf/559c30948ef59c0eb7000002/1.ref1L
-rw-r--r--test/vim/golf/55b18bbea9c2c30d04000001/1.in10L
-rw-r--r--test/vim/golf/55b18bbea9c2c30d04000001/1.ref13L
-rw-r--r--test/vim/golf/55bcdc3ef4219f456102374f/1.in1L
-rw-r--r--test/vim/golf/55bcdc3ef4219f456102374f/1.ref1L
-rw-r--r--test/vim/golf/55f9720b4a665c2acf0008c8/1.in4L
-rw-r--r--test/vim/golf/55f9720b4a665c2acf0008c8/1.ref8L
-rw-r--r--test/vim/motions/goto.in3L
-rw-r--r--test/vim/motions/goto.keys6L
-rw-r--r--test/vim/operators/change/change.in3L
-rw-r--r--test/vim/operators/change/change.keys3L
-rw-r--r--test/vim/operators/delete/delete.in5L
-rw-r--r--test/vim/operators/delete/delete.keys2L
-rw-r--r--test/vim/operators/insert/append.in1L
-rw-r--r--test/vim/operators/insert/append.keys3L
-rw-r--r--test/vim/operators/insert/insert.in1L
-rw-r--r--test/vim/operators/insert/insert.keys3L
-rw-r--r--test/vim/operators/join/count.in5L
-rw-r--r--test/vim/operators/join/count.keys1L
-rw-r--r--test/vim/operators/join/empty.in9L
-rw-r--r--test/vim/operators/join/empty.keys6L
-rw-r--r--test/vim/operators/join/visual-line.in9L
-rw-r--r--test/vim/operators/join/visual-line.keys3L
-rw-r--r--test/vim/operators/join/visual.in9L
-rw-r--r--test/vim/operators/join/visual.keys4L
-rw-r--r--test/vim/operators/join/whitespace.in11L
-rw-r--r--test/vim/operators/join/whitespace.keys6L
-rw-r--r--test/vim/operators/openline/openline.in3L
-rw-r--r--test/vim/operators/openline/openline.keys8L
-rw-r--r--test/vim/operators/put/put.in1L
-rw-r--r--test/vim/operators/put/put.keys1L
-rw-r--r--test/vim/operators/put/visual.in2L
-rw-r--r--test/vim/operators/put/visual.keys3L
-rw-r--r--test/vim/operators/replace/replace.in5L
-rw-r--r--test/vim/operators/replace/replace.keys10L
-rw-r--r--test/vim/operators/shift/shift.in2L
-rw-r--r--test/vim/operators/shift/shift.keys1L
-rw-r--r--test/vim/operators/yank/yank.in1L
-rw-r--r--test/vim/operators/yank/yank.keys1L
-rw-r--r--test/vim/registers/black-hole.in5L
-rw-r--r--test/vim/registers/black-hole.keys7L
-rw-r--r--test/vim/registers/command.in2L
-rw-r--r--test/vim/registers/command.keys4L
-rw-r--r--test/vim/registers/named.in5L
-rw-r--r--test/vim/registers/named.keys13L
-rw-r--r--test/vim/registers/search.in3L
-rw-r--r--test/vim/registers/search.keys7L
-rw-r--r--test/vim/registers/zero.in5L
-rw-r--r--test/vim/registers/zero.keys7L
-rw-r--r--test/vim/special-files/combining.in1L
-rw-r--r--test/vim/special-files/combining.keys6L
-rw-r--r--test/vim/special-files/mmap.in104857L
-rw-r--r--test/vim/special-files/mmap.keys3L
-rw-r--r--test/vim/special-files/search-binary.in19B
-rw-r--r--test/vim/special-files/search-binary.keys5L
-rwxr-xr-xtest/vim/test.sh69L
-rw-r--r--test/vim/text-objects/braces-count-linewise.in5L
-rw-r--r--test/vim/text-objects/braces-count-linewise.keys2L
-rw-r--r--test/vim/text-objects/words-count.in1L
-rw-r--r--test/vim/text-objects/words-count.keys3L
-rw-r--r--test/vim/text-objects/words-eol.in2L
-rw-r--r--test/vim/text-objects/words-eol.keys1L
-rw-r--r--test/vim/text-objects/words-symbols.in14L
-rw-r--r--test/vim/text-objects/words-symbols.keys19L
-rw-r--r--test/vim/visrc.lua0B
-rw-r--r--test/vis/.gitignore3L
-rw-r--r--test/vis/Makefile12L
-rw-r--r--test/vis/README.md17L
-rw-r--r--test/vis/errors/filter.in1L
-rw-r--r--test/vis/errors/filter.keys1L
-rw-r--r--test/vis/errors/filter.ref1L
-rw-r--r--test/vis/errors/pipe-in.in1L
-rw-r--r--test/vis/errors/pipe-in.keys1L
-rw-r--r--test/vis/errors/pipe-in.ref1L
-rw-r--r--test/vis/insert-mode/autoindent.in4L
-rw-r--r--test/vis/insert-mode/autoindent.keys17L
-rw-r--r--test/vis/insert-mode/autoindent.ref21L
-rw-r--r--test/vis/insert-mode/digraph.in7L
-rw-r--r--test/vis/insert-mode/digraph.keys7L
-rw-r--r--test/vis/insert-mode/digraph.ref7L
-rw-r--r--test/vis/insert-mode/verbatim.in24L
-rw-r--r--test/vis/insert-mode/verbatim.keys41L
-rw-r--r--test/vis/insert-mode/verbatim.ref24L
-rw-r--r--test/vis/interop/pre-save-grows.in2L
-rw-r--r--test/vis/interop/pre-save-grows.keys0B
-rw-r--r--test/vis/interop/pre-save-grows.lua7L
-rw-r--r--test/vis/interop/pre-save-grows.ref2L
-rw-r--r--test/vis/interop/pre-save-shrinks.in1L
-rw-r--r--test/vis/interop/pre-save-shrinks.keys0B
-rw-r--r--test/vis/interop/pre-save-shrinks.lua7L
-rw-r--r--test/vis/interop/pre-save-shrinks.ref1L
-rw-r--r--test/vis/mappings/insert-mode.in0B
-rw-r--r--test/vis/mappings/insert-mode.keys6L
-rw-r--r--test/vis/mappings/insert-mode.ref3L
-rw-r--r--test/vis/motions/line-begin.in13L
-rw-r--r--test/vis/motions/line-begin.keys13L
-rw-r--r--test/vis/motions/line-begin.ref13L
-rw-r--r--test/vis/motions/line-char-first.in13L
-rw-r--r--test/vis/motions/line-char-first.keys13L
-rw-r--r--test/vis/motions/line-char-first.ref13L
-rw-r--r--test/vis/motions/line-char-last.in13L
-rw-r--r--test/vis/motions/line-char-last.keys13L
-rw-r--r--test/vis/motions/line-char-last.ref13L
-rw-r--r--test/vis/motions/line-end.in13L
-rw-r--r--test/vis/motions/line-end.keys13L
-rw-r--r--test/vis/motions/line-end.ref13L
-rw-r--r--test/vis/motions/next-end-of-bigword.in11L
-rw-r--r--test/vis/motions/next-end-of-bigword.keys11L
-rw-r--r--test/vis/motions/next-end-of-bigword.ref11L
-rw-r--r--test/vis/motions/next-end-of-word.in12L
-rw-r--r--test/vis/motions/next-end-of-word.keys12L
-rw-r--r--test/vis/motions/next-end-of-word.ref12L
-rw-r--r--test/vis/motions/next-start-of-bigword.in11L
-rw-r--r--test/vis/motions/next-start-of-bigword.keys11L
-rw-r--r--test/vis/motions/next-start-of-bigword.ref12L
-rw-r--r--test/vis/motions/next-start-of-word.in12L
-rw-r--r--test/vis/motions/next-start-of-word.keys12L
-rw-r--r--test/vis/motions/next-start-of-word.ref13L
-rw-r--r--test/vis/motions/percent.in5L
-rw-r--r--test/vis/motions/percent.keys3L
-rw-r--r--test/vis/motions/percent.ref6L
-rw-r--r--test/vis/motions/prev-end-of-bigword.in10L
-rw-r--r--test/vis/motions/prev-end-of-bigword.keys10L
-rw-r--r--test/vis/motions/prev-end-of-bigword.ref10L
-rw-r--r--test/vis/motions/prev-end-of-word.in10L
-rw-r--r--test/vis/motions/prev-end-of-word.keys10L
-rw-r--r--test/vis/motions/prev-end-of-word.ref10L
-rw-r--r--test/vis/motions/prev-start-of-bigword.in9L
-rw-r--r--test/vis/motions/prev-start-of-bigword.keys10L
-rw-r--r--test/vis/motions/prev-start-of-bigword.ref9L
-rw-r--r--test/vis/motions/prev-start-of-word.in9L
-rw-r--r--test/vis/motions/prev-start-of-word.keys10L
-rw-r--r--test/vis/motions/prev-start-of-word.ref9L
-rw-r--r--test/vis/motions/till-left.in15L
-rw-r--r--test/vis/motions/till-left.keys15L
-rw-r--r--test/vis/motions/till-left.ref15L
-rw-r--r--test/vis/motions/till-right.in15L
-rw-r--r--test/vis/motions/till-right.keys15L
-rw-r--r--test/vis/motions/till-right.ref15L
-rw-r--r--test/vis/motions/to-left.in15L
-rw-r--r--test/vis/motions/to-left.keys15L
-rw-r--r--test/vis/motions/to-left.ref15L
-rw-r--r--test/vis/motions/to-right.in15L
-rw-r--r--test/vis/motions/to-right.keys15L
-rw-r--r--test/vis/motions/to-right.ref15L
-rw-r--r--test/vis/prompt/history.in3L
-rw-r--r--test/vis/prompt/history.keys6L
-rw-r--r--test/vis/prompt/history.ref3L
-rw-r--r--test/vis/selections/align-indent-columns.in5L
-rw-r--r--test/vis/selections/align-indent-columns.keys3L
-rw-r--r--test/vis/selections/align-indent-columns.ref5L
-rw-r--r--test/vis/selections/align-indent.in5L
-rw-r--r--test/vis/selections/align-indent.keys2L
-rw-r--r--test/vis/selections/align-indent.ref5L
-rw-r--r--test/vis/selections/align.in5L
-rw-r--r--test/vis/selections/align.keys3L
-rw-r--r--test/vis/selections/align.ref5L
-rw-r--r--test/vis/selections/complement-whole.in10L
-rw-r--r--test/vis/selections/complement-whole.keys3L
-rw-r--r--test/vis/selections/complement-whole.ref10L
-rw-r--r--test/vis/selections/complement.in10L
-rw-r--r--test/vis/selections/complement.keys4L
-rw-r--r--test/vis/selections/complement.ref10L
-rw-r--r--test/vis/selections/end-of-file.in9L
-rw-r--r--test/vis/selections/end-of-file.keys6L
-rw-r--r--test/vis/selections/end-of-file.ref12L
-rw-r--r--test/vis/selections/intersect-adjacent.in10L
-rw-r--r--test/vis/selections/intersect-adjacent.keys5L
-rw-r--r--test/vis/selections/intersect-adjacent.ref10L
-rw-r--r--test/vis/selections/intersect-contained.in10L
-rw-r--r--test/vis/selections/intersect-contained.keys5L
-rw-r--r--test/vis/selections/intersect-contained.ref10L
-rw-r--r--test/vis/selections/intersect-empty.in10L
-rw-r--r--test/vis/selections/intersect-empty.keys3L
-rw-r--r--test/vis/selections/intersect-empty.ref10L
-rw-r--r--test/vis/selections/intersect-overlapping.in10L
-rw-r--r--test/vis/selections/intersect-overlapping.keys5L
-rw-r--r--test/vis/selections/intersect-overlapping.ref10L
-rw-r--r--test/vis/selections/intersect-whole.in10L
-rw-r--r--test/vis/selections/intersect-whole.keys5L
-rw-r--r--test/vis/selections/intersect-whole.ref10L
-rw-r--r--test/vis/selections/minus-adjacent.in10L
-rw-r--r--test/vis/selections/minus-adjacent.keys5L
-rw-r--r--test/vis/selections/minus-adjacent.ref10L
-rw-r--r--test/vis/selections/minus-contained.in10L
-rw-r--r--test/vis/selections/minus-contained.keys5L
-rw-r--r--test/vis/selections/minus-contained.ref10L
-rw-r--r--test/vis/selections/minus-empty.in10L
-rw-r--r--test/vis/selections/minus-empty.keys3L
-rw-r--r--test/vis/selections/minus-empty.ref10L
-rw-r--r--test/vis/selections/minus-overlapping.in10L
-rw-r--r--test/vis/selections/minus-overlapping.keys5L
-rw-r--r--test/vis/selections/minus-overlapping.ref10L
-rw-r--r--test/vis/selections/minus-whole.in10L
-rw-r--r--test/vis/selections/minus-whole.keys5L
-rw-r--r--test/vis/selections/minus-whole.ref10L
-rw-r--r--test/vis/selections/new-above-first-below-last.in5L
-rw-r--r--test/vis/selections/new-above-first-below-last.keys4L
-rw-r--r--test/vis/selections/new-above-first-below-last.ref5L
-rw-r--r--test/vis/selections/new-below-above.in5L
-rw-r--r--test/vis/selections/new-below-above.keys5L
-rw-r--r--test/vis/selections/new-below-above.ref5L
-rw-r--r--test/vis/selections/new-end-of-line.in4L
-rw-r--r--test/vis/selections/new-end-of-line.keys7L
-rw-r--r--test/vis/selections/new-end-of-line.ref4L
-rw-r--r--test/vis/selections/new-start-of-line.in4L
-rw-r--r--test/vis/selections/new-start-of-line.keys6L
-rw-r--r--test/vis/selections/new-start-of-line.ref4L
-rw-r--r--test/vis/selections/normal-mode-wq.in8L
-rw-r--r--test/vis/selections/normal-mode-wq.keys4L
-rw-r--r--test/vis/selections/normal-mode-wq.ref8L
-rw-r--r--test/vis/selections/odd-even.in10L
-rw-r--r--test/vis/selections/odd-even.keys1L
-rw-r--r--test/vis/selections/odd-even.ref10L
-rw-r--r--test/vis/selections/out-of-view.in.disabled999L
-rw-r--r--test/vis/selections/out-of-view.keys7L
-rw-r--r--test/vis/selections/out-of-view.ref899L
-rw-r--r--test/vis/selections/remove-column.in3L
-rw-r--r--test/vis/selections/remove-column.keys8L
-rw-r--r--test/vis/selections/remove-column.ref3L
-rw-r--r--test/vis/selections/select-match.in3L
-rw-r--r--test/vis/selections/select-match.keys8L
-rw-r--r--test/vis/selections/select-match.ref3L
-rw-r--r--test/vis/selections/selections-rotate.in3L
-rw-r--r--test/vis/selections/selections-rotate.keys6L
-rw-r--r--test/vis/selections/selections-rotate.ref3L
-rw-r--r--test/vis/selections/selections-trim.in3L
-rw-r--r--test/vis/selections/selections-trim.keys5L
-rw-r--r--test/vis/selections/selections-trim.ref3L
-rw-r--r--test/vis/selections/union-adjacent.in10L
-rw-r--r--test/vis/selections/union-adjacent.keys5L
-rw-r--r--test/vis/selections/union-adjacent.ref10L
-rw-r--r--test/vis/selections/union-contained.in10L
-rw-r--r--test/vis/selections/union-contained.keys5L
-rw-r--r--test/vis/selections/union-contained.ref10L
-rw-r--r--test/vis/selections/union-empty.in10L
-rw-r--r--test/vis/selections/union-empty.keys3L
-rw-r--r--test/vis/selections/union-empty.ref10L
-rw-r--r--test/vis/selections/union-overlapping.in10L
-rw-r--r--test/vis/selections/union-overlapping.keys5L
-rw-r--r--test/vis/selections/union-overlapping.ref10L
-rw-r--r--test/vis/selections/union-whole.in10L
-rw-r--r--test/vis/selections/union-whole.keys5L
-rw-r--r--test/vis/selections/union-whole.ref11L
-rw-r--r--test/vis/structural-regex/addresses/marks.in1L
-rw-r--r--test/vis/structural-regex/addresses/marks.keys6L
-rw-r--r--test/vis/structural-regex/addresses/marks.ref1L
-rw-r--r--test/vis/structural-regex/addresses/round-down.in16L
-rw-r--r--test/vis/structural-regex/addresses/round-down.keys5L
-rw-r--r--test/vis/structural-regex/addresses/round-down.ref18L
-rw-r--r--test/vis/structural-regex/addresses/round-up.in16L
-rw-r--r--test/vis/structural-regex/addresses/round-up.keys5L
-rw-r--r--test/vis/structural-regex/addresses/round-up.ref18L
-rwxr-xr-xtest/vis/test.sh48L
-rw-r--r--test/vis/text-objects/indentation.in16L
-rw-r--r--test/vis/text-objects/indentation.keys4L
-rw-r--r--test/vis/text-objects/indentation.ref16L
-rw-r--r--test/vis/text-objects/lexer.in6L
-rw-r--r--test/vis/text-objects/lexer.keys5L
-rw-r--r--test/vis/text-objects/lexer.ref6L
-rw-r--r--test/vis/text-objects/line.in6L
-rw-r--r--test/vis/text-objects/line.keys9L
-rw-r--r--test/vis/text-objects/line.ref2L
-rw-r--r--test/vis/text-objects/search-result.in8L
-rw-r--r--test/vis/text-objects/search-result.keys8L
-rw-r--r--test/vis/text-objects/search-result.ref8L
-rw-r--r--test/vis/visrc.lua27L
-rw-r--r--test/vis/visual-mode/orientation.in1L
-rw-r--r--test/vis/visual-mode/orientation.keys8L
-rw-r--r--test/vis/visual-mode/orientation.ref1L
-rw-r--r--text-common.c72L
-rw-r--r--text-internal.h35L
-rw-r--r--text-io.c550L
-rw-r--r--text-iterator.c177L
-rw-r--r--text-motions.c652L
-rw-r--r--text-motions.h132L
-rw-r--r--text-objects.c393L
-rw-r--r--text-objects.h57L
-rw-r--r--text-regex-tre.c174L
-rw-r--r--text-regex.c111L
-rw-r--r--text-regex.h25L
-rw-r--r--text-util.c122L
-rw-r--r--text-util.h31L
-rw-r--r--text.c977L
-rw-r--r--text.h431L
-rw-r--r--ui-terminal-curses.c297L
-rw-r--r--ui-terminal-vt100.c212L
-rw-r--r--ui-terminal.c628L
-rw-r--r--ui.h138L
-rw-r--r--util.h47L
-rw-r--r--view.c1372L
-rw-r--r--view.h356L
-rwxr-xr-xvis-clipboard192L
-rw-r--r--vis-cmds.c967L
-rwxr-xr-xvis-complete89L
-rw-r--r--vis-core.h302L
-rw-r--r--vis-digraph.c2016L
-rw-r--r--vis-lua.c3719L
-rw-r--r--vis-lua.h34L
-rw-r--r--vis-marks.c239L
-rw-r--r--vis-menu.c643L
-rw-r--r--vis-modes.c308L
-rw-r--r--vis-motions.c640L
-rwxr-xr-xvis-open89L
-rw-r--r--vis-operators.c334L
-rw-r--r--vis-prompt.c203L
-rw-r--r--vis-registers.c304L
-rw-r--r--vis-single.c161L
-rw-r--r--vis-subprocess.c252L
-rw-r--r--vis-subprocess.h31L
-rw-r--r--vis-text-objects.c194L
-rw-r--r--vis.c1915L
-rw-r--r--vis.h1386L