Skip to content

Ports: Add neovim#26695

Open
spholz wants to merge 11 commits intoSerenityOS:masterfrom
spholz:ports-add-neovim
Open

Ports: Add neovim#26695
spholz wants to merge 11 commits intoSerenityOS:masterfrom
spholz:ports-add-neovim

Conversation

@spholz
Copy link
Copy Markdown
Member

@spholz spholz commented Apr 4, 2026

This adds a port of the neovim text editor.

The package.sh is a bit complex since cross-compiling neovim requires you to first build it on the host. I have more patches locally to add system clipboard integration, open command support and some font symbols, but I didn't include them in this PR to keep the scope smaller.

This PR also includes a LibC and a libuv patch to fix two bugs I hit in the neovim port.

Building neovim requires luajit and luarocks to be installed on the host.

(This screenshot was taken after doing export COLORTERM=truecolor to tell neovim that we support 24-bit color. We should probably define that environment variable in Terminal, see https://github.com/termstandard/colors)
Screenshot_20260404_094205

spholz added 10 commits April 4, 2026 20:50
OPOST is an c_oflag flag.
Similarly, ECHO, ECHONL etc. are c_lflag flags.
LuaJIT switched to a rolling-release model with multiple maintained
branches.
This commit hash is the current head of the branch currently marked
as "production": v2.1.
The original project was abandoned, so this uses neovim's fork, see
https://github.com/neovim/neovim/blob/master/MAINTAIN.md#third-party-dependencies
for more details.
These parsers are required by neovim.
This is better than hardcoding it to 0.
Neovim uses this count to determine how many threads to spawn in
`vim.pack`. Previously, it spawned 0 threads and got stuck when
downloading plugins.
@spholz spholz requested a review from timschumi as a code owner April 4, 2026 19:44
@github-actions github-actions bot added the 👀 pr-needs-review PR needs review from a maintainer or community member label Apr 4, 2026
@spholz
Copy link
Copy Markdown
Member Author

spholz commented Apr 4, 2026

Sorry, this previous image was false advertising, this is what neovim currently looks like (with COLORTERM=truecolor or :set termguicolors)
The previous image uses the U+2572 ("╲") font symbol I have added locally.
Screenshot_20260404_094613

@spholz spholz force-pushed the ports-add-neovim branch from a35afea to 50cfca8 Compare April 4, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👀 pr-needs-review PR needs review from a maintainer or community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant