Neovim is an aggressive refactor of editors/vim. It represents a
complete overhaul of the codebase with many sanity improvements,
including sensible defaults, a built-in terminal emulator,
asynchronous plugin architecture, and powerful APIs designed for
speed and extensibility. It retains full compatibility
with almost all Vim plugins and scripts.
For most users, Neovim is a drop-in Vim replacement.
===> The following configuration options are available for neovim-0.12.6:
NLS=on: Native Language Support
PYNVIM=off: Enable support for plugins written in python
===> Use 'make config' to modify these settings
Reason:
Neovim now uses luajit-openresty as the Lua provider. Many neovim plugins
compile some of their code (Packer does this, as do many LSP plugins).
Neovim will produce errors and fail to load the plugins.
Deleting and reinstalling any plugins that produce errors should fix the
startup.
If you use Packer, you also want to delete the startup cache:
# rm -rf ~/.config/nvim/plugin/packer_compiled.lua
Number of commits found: 112 (showing only 100 on this page) #
editors/neovim: Update to 0.12.6
Mostly bug fixes, but allowing mutating vim.pos will simplify a lot of
the boilerplate in the "clever" sections of many `init.lua`s.
Changes: https://github.com/neovim/neovim/commit/779c36969
editors/neovim: Update to 0.12.0
This is a very big release--one of the biggest Neovim has ever
had.
Changes: https://github.com/neovim/neovim/blob/v0.12.0/runtime/doc/news.txt
In addition to major LSP improvements, there is a new UI API that will
allow nvim and plugins to engage messages, windows, progress bars, etc.
for a consistent UX. The new vim.pack plugin manager utilizes it to
provide a built-in alternative to lazy.nvim (this one is big!).
lang/luajit: update to v2.1
Disconnect lang/luajit-devel from the build, will be removed soon.
Bump PORTREVISIONs for the consumers.
Discussed with: adamw
PR: 225342
editors/neovim: for rebuild (again)
When releasing 2.0.4 I missed the cherry-pick the patch which was
needing a rebuild for neovim, which means we have to rebuild again
to make sure the packages is built with pkg 2.0.5+
editors/neovim: for rebuild
Neovim with built with pkg between 2.0.0 and 2.0.3 will require the lpeg
shlib registered in absolute path. While this is not a bug per se, it is
a weirdness we cannot handle yet, pkg 2.0.4 skipp this kind of shlib
dependency for now.
editors/neovim: Update included tree-sitter parsers
At the root of this is breakages in vimdoc parsing, which should be
fixed by updating the tree-sitter-vimdoc parser. While here, I'm
updating the rest of them as well.
Normally I'd MFH this, but 2024Q4 will be branched Real Soon Now(tm).
PR: 280702
Reported by: Oleg Streejak
editors/neovim: Include tree-sitter parsers
Neovim now expects a number of tree-sitter parsers to be included in
a base installation, but they must be fetched, built, and installed
separately.
Without the parsers, things like `:help [...]` produces warnings but
still technically works.
PR: 279293
Submitted by: Laurent Chardon
editors/neovim: Remove desktop-file-utils dependency
While the dependency is undoubtably correct, it brings glib and all its
dependencies. Neovim has always avoided this dependency before, so I'm
clearing it out again at this time.
editors/neovim: Update to 0.9.5
Changes:
This is a maintenance release, focusing on bugfixes.
Notably, fixes were made for issues with using and testing Nvim on less common
platforms, like big endian platforms.
Bug Fixes
defaults: Set 'fsync' #26039
Dont create data dir if it's a broken symlink
Make InspectTree handle nested injection
Remove nested for_each_tree in TSTreeView (#26331)
api: Use a conditional stack for nvim_cmd
change: Update fold after on_bytes
deps: Bump libmpack from luarocks
extmark_to_array: Convert conceal_char to bytes
(Only the first 15 lines of the commit message are shown above )
devel/msgpack: Update and split into C and C++ versions
Upstream now provides msgpack as two separate distributions: a C version
with the traditional libmsgpackc.so library, and a header-only C++
version.
devel/msgpack is now devel/msgpack-c and devel/msgpack-cxx, and its
consumers now point to one or both. Note that it is entirely possible
for both to be required. PORTREVISION bump for all consumers.
In my testing, it's not clear that the MSGPACK option in the mariadb
ports actually does anything. I don't think mariadb is actually linking
against msgpack, even before this commit.
editors/neovim: Update to 0.8.0
Big features here include introducing winbar (a configurable bar at the
top of each window), cmdheight=0, inclusion of some treesitter parsers
out-of-the-box, and much more.
Full set of changes: https://github.com/neovim/neovim/releases/tag/v0.8.0
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
editors: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Andreas Kohout <shanee@augusta.de>
* Andrej Zverev <az@inec.ru>
* Andrey Zakhvatov
* Anton Tornqvist <antont@inbox.lv>
* Bill Fumerola <billf@chc-chimes.com>
* Bob Eager <bob@eager.cx>
* Chris D. Faulhaber <jedgar@fxp.org>
(Only the first 15 lines of the commit message are shown above )
editors/vim, devel/luv: Use luajit-openresty as the Lua backend
After a failed attempt a few months ago, re-enable luajit-openresty
as the default luv backend, and the only neovim backend.
I suspect that it's safe to switch luv unconditionally as well, but I'm
taking a more conservative route at this time and just switching amd64
and i386 to it.
NeoVim is designed specifically for luajit. While it runs on PUC lua,
PUC is not used by upstream and no attempts are made to build for it.
However, luajit is largely a stalled project and is unlikely to ever
see new releases. The OpenResty fork, however, is actively-developed.
It is also the standard neovim lua backend on macOS Homebrew and most
Linux distributions.
editors/neovim: Partially revert 9b869a4c17db42729cdfaca02c5c9c5ab2d22976
luajit-openresty causes lua errors with many nvim plugins. I don't know
why, and until I have time to diagnose it, revert the switch to
hardcoded luajit-openresty. In the short term I'll likely switch to
hardcoding luajit and removing the PUC Lua option.
editors/neovim: Update to 0.6.0 and switch lua backend
0.6.0 is an interval update that refines and extends the major lua
overhaul of 0.5.0.
Instead of using options for luajit vs PUC (mainline) lua, use
luajit-openresty unconditionally. devel/luv needs to use the same
backend as NeoVIM, so this commit switches it too.
NeoVIM is designed specifically to run on luajit rather than PUC;
upstream essentially doesn't develop for PUC. However, luajit is
largely unmaintained, locked in an older lua dialect, and unbuildable
on many architectures.
The luajit-openresty fork is faster, more modern, and should work in
more places. It's unclear to me which FreeBSD archs it does or doesn't
work on, so the fallout will have to be addressed once the builders have
a whack at it.
editors/neovim: Update to 0.5
While here, generate the runtime data files automatically. Enumerating
them stopped being fun.
There are major new features in this release, the most notable being the
inclusion of native support for LSP (Language Server Protocol) and a
native parser/AST generator. These can be used to do intelligent code
analysis and completion, without requiring external scripting providers.
Also, the Neovim config file(s) can now be written entirely in lua
instead of (or in addition to) Vimscript.
editors/neovim: Update list of python versions
Previously, py3.9 wasn't recognized at all, and it was checking for python
versions that are no longer supported and don't exist in the ports tree.
No MFH here as py39 doesn't exist in 2020Q4.
editors/neovim: fix build on powerpc64 elfv2
Use GCC instead of Clang, Clang-compiled binary crashes at testing. Strangely,
it doesn't crash when built with WITH_DEBUG=yes, but that makes debugging hard.
USES=lua gained flavors.
Ports using USES=lua:module or lua:flavors will be flavored. A range of
supported lua versions can be set using XX-YY (or XX-, or -YY, or simply ZZ)
for ports not supporting all lua versions.
USES=lua sets LUA_FLAVOR that needs to be used on all dependencies of
flavored lua ports, in a similar way as PHP or Python flavors.
PR: 245038
Submitted by: andrew tao11 riddles org uk
Reviewed by: mat, kevans, russ haley gmail com
Approved by: mat (portmgr)
Differential Revision: https://reviews.freebsd.org/D16494
neovim: Blacklist luajit on ppc
It's possible that luajit itself is broken on ppc32, but neither of the
people using that arch have reported similar errors AFAIK.
PR: 242799
Disable LuaJIT on non-x86 architectures
The version of LuaJIT in port doesn't work well (or at all) for neovim
on non-x86 architectures. Plus, some users (at least the submitter, who
made a good argument for it) may not want LuaJIT at all.
So, make LuaJIT an OPTION. Enable it by default, and exclude it from
all the archs that LuaJIT+neovim doesn't work on. Fall back instead on
normal Lua.
PR: 238079
Submitted by: Greg V
MFH: 2019Q2
Update neovim to 0.3.5
Maintenance release to fix issues found in v0.3.4.
options: properly reset directories on 'autochdir'
Remove MSVC optimization workaround for SHM_ALL
Make SHM_ALL to a variable instead of a compound literal #define
doc: mention "pynvim" module rename
screen: don't crash when drawing popupmenu with 'rightleft' option
look-behind match may use the wrong line number
:terminal : set topline based on window height
:recover : Fix crash on non-existent *.swp
Add PYNVIM option
PYNVIM installs the py-pynvim port. This enables support for nvim
plugins written in python. It is NOT required for editing or debugging
python scripts---that support is already included in neovim.
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Update neovim to 0.3.1
FEATURES:
man.vim: C highlighting for EXAMPLES section
TUI: urxvt: also send xterm focus-reporting seqs
API: emit nvim_buf_lines_event from :terminal
fillchars: Add "eob" flag
FIXES:
startup: avoid blank stdin buffer if other files were opened
Only waitpid() for processes that we care about
Check all child processes for exit in SIGCHLD handler
channel.c: Prevent channel_destroy_early() from freeing uninitialized rpc
stuff
transstr_buf: fix length comparison
(Only the first 15 lines of the commit message are shown above )
Update included libmpack-lua and take maintainership
While here, sort depends, update WWW, and expand the
pkg-descr.
I'd like to thank Oleh Hushchenkov, the outgoing maintainer,
for offering me maintainership and for maintaining this port
for nearly two years.
devel/unibilium: Update to 2.0.0
* Change to DISTVERSION
* Bump devel/libtermkey, editors/neovim
editors/neovim fails on 12amd64 before and after this change
PR: 226638
Submitted by: chuck@tuffli.net <chuck@tuffli.net> (maintainer)
Make ninja opt-out in cmake.mk
Using ninja instead of make (1) can lead to significant speed ups while
building.
Therefore switch from having the ninja generator opt-in to having it opt-out.
Previously cmake-ports that wanted to use ninja could set
CMAKE_NINJA=yes
now, ports that do not work with ninja can set
cmake:<existing args>,noninja
Note, that needing this should be an exception and most often points to a broken
cmake of the port.
The ports using cmake were modified
* removed USES=gmake, if ninja is used
* removed MAKE_ARGS, if ninja is used
* added the cmake-argument noninja if necessary
PR: 219629
PR: 213331
Exp-run by: antoine
Reviewed by: rakuco
Differential Revision: https://reviews.freebsd.org/D10748
editors/neovim: Return pty process patch to restore build on DF
The pty process file was relocated and renamed, so the previous patch
no longer applied and was removed with the last update. Regenerate the
patch to restore build on DragonFly.
Approved by: DragonFly blanket