mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-07 11:49:40 +00:00
editors/vis: New port: Vi-like editor based on Plan 9's structural regular expressions
Vis aims to be a modern, legacy-free, simple yet efficient editor, combining the strengths of both vi(m) and sam. It extends vi's modal editing with built-in support for multiple cursors/selections and combines it with sam's structural regular expression based command language. Efficient syntax highlighting is provided using Parsing Expression Grammars, which can be conveniently expressed using Lua in the form of LPeg. The editor core is written in a reasonable amount of clean, modern and legacy-free C code, enabling it to run in resource-constrained environments. There is also a Lua API for in-process extensions. Vis strives to be simple and focuses on its core task: efficient text management. Clipboard and digraph handling as well as a fuzzy file open dialog are all provided by independent utilities. WWW: https://www.brain-dump.org/projects/vis/ PR: 270063
This commit is contained in:
parent
b73012d372
commit
01820ee3d0
@ -277,6 +277,7 @@
|
||||
SUBDIR += vile
|
||||
SUBDIR += vim
|
||||
SUBDIR += vim-colorschemes-legacy
|
||||
SUBDIR += vis
|
||||
SUBDIR += vscode
|
||||
SUBDIR += web-mode
|
||||
SUBDIR += with-editor
|
||||
|
61
editors/vis/Makefile
Normal file
61
editors/vis/Makefile
Normal file
@ -0,0 +1,61 @@
|
||||
PORTNAME= vis
|
||||
DISTVERSION= 0.8
|
||||
CATEGORIES= editors
|
||||
MASTER_SITES= https://github.com/martanne/${PORTNAME}/releases/download/v${VIS_VER}/:source \
|
||||
https://github.com/martanne/${PORTNAME}-test/releases/download/v${VIS_TEST_VER}/:test
|
||||
DISTFILES= ${PORTNAME}-${VIS_VER}${EXTRACT_SUFX}:source \
|
||||
${VIS_TEST_NAME}-${VIS_TEST_VER}${EXTRACT_SUFX}:test
|
||||
|
||||
MAINTAINER= DtxdF@disroot.org
|
||||
COMMENT= Vi-like editor based on Plan 9's structural regular expressions
|
||||
WWW= https://www.brain-dump.org/projects/vis/
|
||||
|
||||
LICENSE= CC0-1.0 ISCL MIT
|
||||
LICENSE_COMB= multi
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
LIB_DEPENDS+= libtermkey.so:devel/libtermkey
|
||||
TEST_DEPENDS= vim>0:editors/vim
|
||||
|
||||
USES+= gmake lua pkgconfig
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --prefix=${PREFIX}
|
||||
|
||||
INSTALL_TARGET= install-strip
|
||||
TEST_TARGET= test
|
||||
|
||||
OPTIONS_DEFINE= LPEG NLS TRE
|
||||
OPTIONS_DEFAULT= LPEG TRE
|
||||
OPTIONS_RADIO= CLIPBOARD
|
||||
OPTIONS_RADIO_CLIPBOARD= WL_COPY XCLIP XSEL
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
LPEG_DESC= Syntax highlighting
|
||||
TRE_DESC= More memory efficient regex search
|
||||
WL_COPY_DESC= Use wl-copy
|
||||
XCLIP_DESC= Use xclip
|
||||
XSEL_DESC= Use xsel-conrad
|
||||
|
||||
LPEG_RUN_DEPENDS= ${LUA_PKGNAMEPREFIX}lpeg>=0.8.1:devel/lua-lpeg@${LUA_FLAVOR}
|
||||
NLS_USES= gettext-runtime
|
||||
TRE_IMPLIES= NLS
|
||||
TRE_LIB_DEPENDS= libtre.so:textproc/libtre
|
||||
WL_COPY_RUN_DEPENDS= wl-clipboard>0:x11/wl-clipboard
|
||||
XCLIP_RUN_DEPENDS= xclip>0:x11/xclip
|
||||
XSEL_RUN_DEPENDS= xsel-conrad>0:x11/xsel-conrad
|
||||
|
||||
# To be consistent with VIS_TEST_VERSION.
|
||||
VIS_VER= ${DISTVERSION}
|
||||
VIS_TEST_VER= 0.5
|
||||
VIS_TEST_NAME= ${PORTNAME}-test
|
||||
|
||||
post-extract:
|
||||
${RMDIR} ${WRKSRC}/test
|
||||
${MV} ${WRKDIR}/${VIS_TEST_NAME}-${VIS_TEST_VER}/ ${WRKSRC}/test
|
||||
|
||||
post-install:
|
||||
@(cd ${STAGEDIR}${PREFIX}/bin; ${MV} vis vise)
|
||||
@(cd ${STAGEDIR}${PREFIX}/share/man/man1; ${MV} vis.1 vise.1)
|
||||
|
||||
.include <bsd.port.mk>
|
5
editors/vis/distinfo
Normal file
5
editors/vis/distinfo
Normal file
@ -0,0 +1,5 @@
|
||||
TIMESTAMP = 1677331839
|
||||
SHA256 (vis-0.8.tar.gz) = 61b10d40f15c4db2ce16e9acf291dbb762da4cbccf0cf2a80b28d9ac998a39bd
|
||||
SIZE (vis-0.8.tar.gz) = 404496
|
||||
SHA256 (vis-test-0.5.tar.gz) = 0098ad933ec1f87bba4b2da9fa84e00cab5612ec3623622c1e5003a245aec7d1
|
||||
SIZE (vis-test-0.5.tar.gz) = 99314
|
19
editors/vis/files/patch-configure
Normal file
19
editors/vis/files/patch-configure
Normal file
@ -0,0 +1,19 @@
|
||||
--- configure.orig 2023-02-25 11:16:23 UTC
|
||||
+++ configure
|
||||
@@ -236,7 +236,6 @@ esac
|
||||
tryflag CFLAGS -pipe
|
||||
|
||||
# Try flags to optimize binary size
|
||||
-tryflag CFLAGS -O2
|
||||
tryflag CFLAGS -ffunction-sections
|
||||
tryflag CFLAGS -fdata-sections
|
||||
tryldflag LDFLAGS_AUTO -Wl,--gc-sections
|
||||
@@ -443,7 +442,7 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
EOF
|
||||
|
||||
- for liblua in lua lua5.4 lua5.3 lua5.2 lua-5.3 lua-5.2 lua54 lua53 lua52; do
|
||||
+ for liblua in lua lua5.4 lua5.3 lua5.2 lua-5.4 lua-5.3 lua-5.2 lua54 lua53 lua52; do
|
||||
printf " checking for %s... " "$liblua"
|
||||
|
||||
if test "$have_pkgconfig" = "yes" ; then
|
11
editors/vis/files/patch-man_vis.1
Normal file
11
editors/vis/files/patch-man_vis.1
Normal file
@ -0,0 +1,11 @@
|
||||
--- man/vis.1.orig 2023-02-24 18:24:37 UTC
|
||||
+++ man/vis.1
|
||||
@@ -260,7 +260,7 @@ currently defers regular expression matching to the un
|
||||
It uses what POSIX refers to as
|
||||
.Dq Extended Regular Expressions
|
||||
as described in
|
||||
-.Xr regex 7 .
|
||||
+.Xr re_format 7 .
|
||||
The anchors
|
||||
.Ic ^
|
||||
and
|
18
editors/vis/pkg-descr
Normal file
18
editors/vis/pkg-descr
Normal file
@ -0,0 +1,18 @@
|
||||
Vis aims to be a modern, legacy-free, simple yet efficient editor,
|
||||
combining the strengths of both vi(m) and sam.
|
||||
|
||||
It extends vi's modal editing with built-in support for multiple
|
||||
cursors/selections and combines it with sam's structural regular
|
||||
expression based command language.
|
||||
|
||||
Efficient syntax highlighting is provided using Parsing Expression
|
||||
Grammars, which can be conveniently expressed using Lua in the form
|
||||
of LPeg.
|
||||
|
||||
The editor core is written in a reasonable amount of clean, modern
|
||||
and legacy-free C code, enabling it to run in resource-constrained
|
||||
environments. There is also a Lua API for in-process extensions.
|
||||
|
||||
Vis strives to be simple and focuses on its core task: efficient
|
||||
text management. Clipboard and digraph handling as well as a fuzzy
|
||||
file open dialog are all provided by independent utilities.
|
7
editors/vis/pkg-message
Normal file
7
editors/vis/pkg-message
Normal file
@ -0,0 +1,7 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
vis is installed as vise(1) to avoid conflicts with vis(1).
|
||||
EOM
|
||||
}
|
||||
]
|
174
editors/vis/pkg-plist
Normal file
174
editors/vis/pkg-plist
Normal file
@ -0,0 +1,174 @@
|
||||
bin/vise
|
||||
bin/vis-clipboard
|
||||
bin/vis-complete
|
||||
bin/vis-digraph
|
||||
bin/vis-menu
|
||||
bin/vis-open
|
||||
share/man/man1/vis-clipboard.1.gz
|
||||
share/man/man1/vis-complete.1.gz
|
||||
share/man/man1/vis-digraph.1.gz
|
||||
share/man/man1/vis-menu.1.gz
|
||||
share/man/man1/vis-open.1.gz
|
||||
share/man/man1/vise.1.gz
|
||||
%%TRE%%%%DATADIR%%/lexer.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/LICENSE
|
||||
%%TRE%%%%DATADIR%%/lexers/README.md
|
||||
%%TRE%%%%DATADIR%%/lexers/actionscript.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/ada.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/ansi_c.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/antlr.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/apdl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/apl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/applescript.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/asm.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/asp.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/autoit.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/awk.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/bash.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/batch.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/bibtex.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/boo.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/caml.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/chuck.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/clojure.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/cmake.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/coffeescript.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/container.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/context.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/cpp.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/crystal.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/csharp.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/css.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/cuda.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/dart.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/desktop.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/diff.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/django.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/dmd.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/dockerfile.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/dot.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/dsv.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/eiffel.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/elixir.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/elm.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/erlang.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/fantom.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/faust.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/fennel.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/fish.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/forth.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/fortran.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/fsharp.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/fstab.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/gap.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/gemini.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/gettext.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/gherkin.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/git-rebase.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/glsl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/gnuplot.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/go.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/groovy.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/gtkrc.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/haskell.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/html.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/icon.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/idl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/inform.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/ini.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/io_lang.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/java.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/javascript.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/json.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/jsp.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/julia.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/latex.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/ledger.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/less.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/lexer.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/lilypond.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/lisp.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/litcoffee.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/logtalk.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/lua.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/makefile.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/man.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/markdown.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/matlab.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/meson.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/moonscript.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/myrddin.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/nemerle.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/networkd.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/nim.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/nsis.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/null.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/objective_c.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/pascal.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/perl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/php.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/pico8.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/pike.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/pkgbuild.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/pony.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/powershell.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/prolog.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/props.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/protobuf.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/ps.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/pure.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/python.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rails.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rc.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/reason.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rebol.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rest.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rexx.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rhtml.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/routeros.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rstats.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/ruby.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/rust.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/sass.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/scala.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/scheme.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/smalltalk.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/sml.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/snobol4.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/spin.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/sql.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/strace.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/systemd.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/taskpaper.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/tcl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/tex.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/texinfo.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/text.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/toml.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/vala.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/vb.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/vbscript.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/vcard.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/verilog.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/vhdl.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/wsf.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/xml.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/xs.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/xtend.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/yaml.lua
|
||||
%%TRE%%%%DATADIR%%/lexers/zig.lua
|
||||
%%TRE%%%%DATADIR%%/plugins/complete-filename.lua
|
||||
%%TRE%%%%DATADIR%%/plugins/complete-word.lua
|
||||
%%TRE%%%%DATADIR%%/plugins/digraph.lua
|
||||
%%TRE%%%%DATADIR%%/plugins/filetype.lua
|
||||
%%TRE%%%%DATADIR%%/plugins/number-inc-dec.lua
|
||||
%%TRE%%%%DATADIR%%/plugins/textobject-lexer.lua
|
||||
%%TRE%%%%DATADIR%%/themes/dark-16.lua
|
||||
%%TRE%%%%DATADIR%%/themes/default-16.lua
|
||||
%%TRE%%%%DATADIR%%/themes/default-256.lua
|
||||
%%TRE%%%%DATADIR%%/themes/light-16.lua
|
||||
%%TRE%%%%DATADIR%%/themes/solarized.lua
|
||||
%%TRE%%%%DATADIR%%/themes/zenburn.lua
|
||||
%%TRE%%%%DATADIR%%/vis-std.lua
|
||||
%%TRE%%%%DATADIR%%/vis.lua
|
||||
%%TRE%%%%DATADIR%%/visrc.lua
|
Loading…
x
Reference in New Issue
Block a user