VimR includes a stock Neovim. From Neovim v0.10.0
, we provide pre-built universal Neovim,
see for instance https://github.com/qvacua/vimr/releases/tag/neovim-v0.10.0-20240527.232810.
In most cases, you can use the pre-built Neovim.
Run the following
clean=true for_dev=false ./bin/build_nvimserver.sh
to download and place the files in the appropriate places. Now, you can just run VimR target in Xcode.
If you want to build Neovim locally, you can use
clean=true for_dev=true ./bin/build_nvimserver.sh
Afterwards, you can run VimR target in Xcode.
(This is used when generating source since we need some generated header files.)
defaults write com.qvacua.VimR enable-debug-menu 1
- Update Neovim and generate sources:
Use
clean=true use_committed_nvim=true ./bin/generate_sources.sh
use_committed=false
if you want to use modified local Neovim submodule. - Commit and push.
- Tag and push with the following
version=neovim-vX.Y.Z-$(date "+%Y%m%d.%H%M%S"); git tag -a "${version}" -m "${version}"; git push origin "${version}"
- Github action will build universal binary + runtime and package it.
- Update the version of Neovim in
/bin/neovim/resources/buildInfo.json
- Set a new version of VimR via
and commit. This will create a
is_snapshot=true ./bin/set_new_versions.sh # for snapshot or is_snapshot=false marketing_version=0.38.3 ./bin/set_new_versions.sh # for release
${bundle_version}-snapshot/release.sh
file to be used withbuild_release.sh
andrelease-notes.temp.md
for release notes. - Tag with the name
- Snapshot:
snapshot/yyyymmdd.HHMMSS
- Release:
vX.Y.Z-yyyymmdd.HHMMSS
- Snapshot:
- Push
- Add release notes to
release-notes.temp.md
. - Build, package and upload via
create_gh_release=true upload=true update_appcast=true \ release_spec_file=....sh \ ./bin/build_release.sh
- The
appcast{-snapshot}.xml
file is modified. Check and push.