mirror of
https://github.com/qvacua/vimr.git
synced 2024-11-27 14:14:19 +03:00
Merge branch 'build-nvim-workflow'
Conflicts: VimR/VimR.xcodeproj/project.pbxproj VimR/VimR/Info.plist VimR/VimRTests/Info.plist
This commit is contained in:
commit
7325960e56
80
.github/workflows/build-universal-neovim.yml
vendored
Normal file
80
.github/workflows/build-universal-neovim.yml
vendored
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
name: 'Universal Neovim'
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
# example: neovim-v0.10.0-20240601.102525
|
||||||
|
- neovim-v[0-9]+.[0-9]+.[0-9]+-*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
macos:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
runner: [ macos-12, macos-14 ]
|
||||||
|
include:
|
||||||
|
- runner: macos-12
|
||||||
|
arch: x86_64
|
||||||
|
- runner: macos-14
|
||||||
|
arch: arm64
|
||||||
|
runs-on: ${{ matrix.runner }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
# Perform a full checkout #13471
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: true
|
||||||
|
- name: Install dependencies
|
||||||
|
run: brew bundle
|
||||||
|
|
||||||
|
- name: Build neovim
|
||||||
|
run: clean=true ./bin/neovim/bin/build_neovim.sh
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: nvim-macos-${{ matrix.arch }}
|
||||||
|
path: Neovim/build/nvim-macos-${{ matrix.arch }}.tar.gz
|
||||||
|
retention-days: 1
|
||||||
|
|
||||||
|
publish:
|
||||||
|
needs: [macos]
|
||||||
|
runs-on: macos-14
|
||||||
|
env:
|
||||||
|
GH_REPO: ${{ github.repository }}
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
steps:
|
||||||
|
# Must perform checkout first, since it deletes the target directory
|
||||||
|
# before running, and would therefore delete the downloaded artifacts
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: actions/download-artifact@v4
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: brew bundle
|
||||||
|
|
||||||
|
- name: Set tag name env
|
||||||
|
run: |
|
||||||
|
TAG_NAME=${{ github.ref }}
|
||||||
|
echo "TAG_NAME=${TAG_NAME#refs/tags/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Move downloaded artifacts
|
||||||
|
run: |
|
||||||
|
mv nvim-macos-x86_64/* .
|
||||||
|
mv nvim-macos-arm64/* .
|
||||||
|
rm -r nvim-macos-x86_64
|
||||||
|
rm -r nvim-macos-arm64
|
||||||
|
|
||||||
|
- name: Create universal Neovim
|
||||||
|
run: ./bin/neovim/bin/build_universal_neovim.sh
|
||||||
|
|
||||||
|
# Set as prerelease such that the latest VimR release is marked as the latest stable release
|
||||||
|
- name: Publish release
|
||||||
|
run: |
|
||||||
|
gh release create $TAG_NAME \
|
||||||
|
--prerelease \
|
||||||
|
--title "Universal ${TAG_NAME}" \
|
||||||
|
--notes "Neovim universal build with `libintl`" \
|
||||||
|
--target $GITHUB_SHA nvim-macos-x86_64.tar.gz nvim-macos-arm64.tar.gz nvim-macos-universal.tar.bz
|
25
DEVELOP.md
25
DEVELOP.md
@ -1,12 +1,18 @@
|
|||||||
## How to develop
|
## How to develop
|
||||||
|
|
||||||
To build Neovim for development, i.e., no universal binary, do the following
|
In most cases, you can use the pre-built universal Neovim build by running
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clean=false for_dev=true ./bin/build_nvimserver.sh
|
clean=true for_dev=false ./bin/build_nvimserver.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
You can set `clean=true` if you want to clean the existing build.
|
If you want to build Neovim locally, i.e., no universal build, you can use
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clean=true for_dev=true ./bin/build_nvimserver.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This is used when generating source since we need some generated header files.
|
||||||
|
|
||||||
### Generating sources when upgrading Neovim
|
### Generating sources when upgrading Neovim
|
||||||
|
|
||||||
@ -23,6 +29,19 @@ defaults write com.qvacua.VimR enable-debug-menu 1
|
|||||||
|
|
||||||
## How to release
|
## How to release
|
||||||
|
|
||||||
|
### Neovim
|
||||||
|
|
||||||
|
* Update Neovim and generate sources.
|
||||||
|
* Commit and push.
|
||||||
|
* Tag and push with the following
|
||||||
|
```bash
|
||||||
|
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`
|
||||||
|
|
||||||
|
### VimR
|
||||||
|
|
||||||
* Set a new version of VimR via
|
* Set a new version of VimR via
|
||||||
```bash
|
```bash
|
||||||
is_snapshot=true ./bin/set_new_versions.sh # for snapshot or
|
is_snapshot=true ./bin/set_new_versions.sh # for snapshot or
|
||||||
|
2
Neovim
2
Neovim
@ -1 +1 @@
|
|||||||
Subproject commit 8744ee8783a8597f9fce4a573ae05aca2f412120
|
Subproject commit 27fb62988e922c2739035f477f93cc052a4fee1e
|
@ -1,4 +1,4 @@
|
|||||||
// Auto generated for nvim v0.9.4
|
// Auto generated for nvim v0.10.0
|
||||||
// See bin/generate_autocmds.py
|
// See bin/generate_autocmds.py
|
||||||
|
|
||||||
enum NvimAutoCommandEvent: String {
|
enum NvimAutoCommandEvent: String {
|
||||||
@ -74,7 +74,10 @@ enum NvimAutoCommandEvent: String {
|
|||||||
case insertleavepre
|
case insertleavepre
|
||||||
case lspattach
|
case lspattach
|
||||||
case lspdetach
|
case lspdetach
|
||||||
|
case lsprequest
|
||||||
|
case lspnotify
|
||||||
case lsptokenupdate
|
case lsptokenupdate
|
||||||
|
case lspprogress
|
||||||
case menupopup
|
case menupopup
|
||||||
case modechanged
|
case modechanged
|
||||||
case optionset
|
case optionset
|
||||||
@ -84,8 +87,10 @@ enum NvimAutoCommandEvent: String {
|
|||||||
case recordingenter
|
case recordingenter
|
||||||
case recordingleave
|
case recordingleave
|
||||||
case remotereply
|
case remotereply
|
||||||
|
case safestate
|
||||||
case searchwrapped
|
case searchwrapped
|
||||||
case sessionloadpost
|
case sessionloadpost
|
||||||
|
case sessionwritepost
|
||||||
case shellcmdpost
|
case shellcmdpost
|
||||||
case shellfilterpost
|
case shellfilterpost
|
||||||
case signal
|
case signal
|
||||||
@ -107,6 +112,7 @@ enum NvimAutoCommandEvent: String {
|
|||||||
case termenter
|
case termenter
|
||||||
case termleave
|
case termleave
|
||||||
case termopen
|
case termopen
|
||||||
|
case termrequest
|
||||||
case termresponse
|
case termresponse
|
||||||
case textchanged
|
case textchanged
|
||||||
case textchangedi
|
case textchangedi
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Auto generated for nvim v0.9.4
|
// Auto generated for nvim v0.10.0
|
||||||
// See bin/generate_cursor_shape.py
|
// See bin/generate_cursor_shape.py
|
||||||
|
|
||||||
public enum CursorModeShape: String {
|
public enum CursorModeShape: String {
|
||||||
|
@ -1,13 +1,19 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
declare -r -x clean=${clean:-false}
|
# This script prepares Neovim binary and the runtime files for building VimR.
|
||||||
|
# For most cases, you can just download the pre-built universal Neovim releases by running
|
||||||
|
# `clean=true for_dev=false ./bin/neovim/bin/download_neovim_releases.sh`
|
||||||
|
# If you want to build Neovim locally, use `for_dev=true`, then, the Neovim binary will be
|
||||||
|
# built for the current architecture only and using the simple `make` command.
|
||||||
|
|
||||||
|
declare -r -x clean=${clean:-true}
|
||||||
declare -r -x for_dev=${for_dev:-false}
|
declare -r -x for_dev=${for_dev:-false}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
pushd "$(dirname "${BASH_SOURCE[0]}")/.." >/dev/null
|
pushd "$(dirname "${BASH_SOURCE[0]}")/.." >/dev/null
|
||||||
|
|
||||||
resources_folder="./NvimView/Sources/NvimView/Resources"
|
local -r resources_folder="./NvimView/Sources/NvimView/Resources"
|
||||||
rm -rf "${resources_folder}/NvimServer"
|
rm -rf "${resources_folder}/NvimServer"
|
||||||
rm -rf "${resources_folder}/runtime"
|
rm -rf "${resources_folder}/runtime"
|
||||||
|
|
||||||
@ -17,24 +23,39 @@ main() {
|
|||||||
rm -rf build
|
rm -rf build
|
||||||
make distclean
|
make distclean
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
|
|
||||||
|
rm -rf "${resources_folder}/NvimServer"
|
||||||
|
rm -rf "${resources_folder}/runtime"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${for_dev}" == true ]]; then
|
if [[ "${for_dev}" == true ]]; then
|
||||||
pushd ./Neovim >/dev/null
|
|
||||||
mkdir -p ./build/install
|
./bin/neovim/bin/build_neovim_for_dev.sh
|
||||||
make CMAKE_BUILD_TYPE=Release CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=./install"
|
|
||||||
make install
|
pushd ./Neovim/build >/dev/null
|
||||||
|
local arch; arch="$(uname -m)"; readonly arch
|
||||||
|
tar -xf "nvim-macos-${arch}.tar.gz"
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
|
|
||||||
cp ./Neovim/build/install/bin/nvim "${resources_folder}/NvimServer"
|
cp "./Neovim/build/nvim-macos-${arch}/bin/nvim" "${resources_folder}/NvimServer"
|
||||||
cp -r ./Neovim/build/install/share/nvim/runtime "${resources_folder}"
|
cp -r "./Neovim/build/nvim-macos-${arch}/share/nvim/runtime" "${resources_folder}"
|
||||||
|
|
||||||
else
|
else
|
||||||
./bin/neovim/bin/build_neovim.sh
|
|
||||||
pushd ./Neovim/build >/dev/null
|
local neovim_release; neovim_release=$(jq -r ".neovimRelease" ./bin/neovim/resources/buildInfo.json)
|
||||||
tar -xf nvim-macos.tar.gz
|
readonly neovim_release
|
||||||
|
|
||||||
|
pushd ./Neovim >/dev/null
|
||||||
|
mkdir -p build
|
||||||
|
pushd ./build >/dev/null
|
||||||
|
curl -LO "https://github.com/qvacua/vimr/releases/download/${neovim_release}/nvim-macos-universal.tar.bz"
|
||||||
|
tar -xf nvim-macos-universal.tar.bz
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
cp ./Neovim/build/nvim-macos/bin/nvim "${resources_folder}/NvimServer"
|
popd >/dev/null
|
||||||
cp -r ./Neovim/build/nvim-macos/share/nvim/runtime "${resources_folder}"
|
|
||||||
|
cp ./Neovim/build/nvim-macos-universal/bin/nvim "${resources_folder}/NvimServer"
|
||||||
|
cp -r ./Neovim/build/nvim-macos-universal/share/nvim/runtime "${resources_folder}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy VimR specific vim file to runtime/plugin folder
|
# Copy VimR specific vim file to runtime/plugin folder
|
||||||
|
@ -24,7 +24,7 @@ main() {
|
|||||||
nvim_version="v$major.$minor.$patch$prerelease"
|
nvim_version="v$major.$minor.$patch$prerelease"
|
||||||
echo "### Using nvim version: $nvim_version"
|
echo "### Using nvim version: $nvim_version"
|
||||||
|
|
||||||
../bin/neovim/bin/build_neovim.sh
|
for_dev=true ../bin/build_nvimserver.sh
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
pushd Neovim
|
pushd Neovim
|
||||||
|
@ -1,28 +1,27 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
# This script builds Neovim with gettext for host's architecture, *no* universal build
|
||||||
|
# Produces /Neovim/build/neovim-macos-$arch.tar.gz
|
||||||
|
|
||||||
readonly clean=${clean:?"true or false"}
|
readonly clean=${clean:?"true or false"}
|
||||||
readonly NVIM_BUILD_TYPE=${NVIM_BUILD_TYPE:-"Release"}
|
readonly NVIM_BUILD_TYPE=${NVIM_BUILD_TYPE:-"Release"}
|
||||||
readonly gettext_version="0.22.5"
|
readonly gettext_version="0.22.5"
|
||||||
readonly gettext_url="https://ftp.gnu.org/pub/gnu/gettext/gettext-${gettext_version}.tar.gz"
|
readonly gettext_url="https://ftp.gnu.org/pub/gnu/gettext/gettext-${gettext_version}.tar.gz"
|
||||||
declare temp_dir; temp_dir="$(mktemp -d)"; readonly temp_dir
|
declare temp_dir; temp_dir="$(mktemp -d)"; readonly temp_dir
|
||||||
readonly gettext_install_dir="${temp_dir}/universal"
|
readonly gettext_install_dir="${temp_dir}/gettext"
|
||||||
|
|
||||||
build_gettext() {
|
build_gettext() {
|
||||||
local -r -x MACOSX_DEPLOYMENT_TARGET=$1
|
local -r -x MACOSX_DEPLOYMENT_TARGET="$1"
|
||||||
|
|
||||||
pushd "${temp_dir}" >/dev/null
|
pushd "${temp_dir}" >/dev/null
|
||||||
curl -L "${gettext_url}" -o gettext.tar.gz
|
curl -L "${gettext_url}" -o gettext.tar.gz
|
||||||
tar -xzf gettext.tar.gz
|
tar -xzf gettext.tar.gz
|
||||||
|
|
||||||
mkdir universal
|
mkdir gettext
|
||||||
|
|
||||||
pushd "./gettext-${gettext_version}" >/dev/null
|
pushd "./gettext-${gettext_version}" >/dev/null
|
||||||
./configure \
|
./configure \
|
||||||
CC="gcc -arch x86_64 -arch arm64" \
|
|
||||||
CXX="g++ -arch x86_64 - arch arm64" \
|
|
||||||
CPP="gcc -E" \
|
|
||||||
CXXCPP="g++ -E" \
|
|
||||||
--prefix "${gettext_install_dir}" \
|
--prefix "${gettext_install_dir}" \
|
||||||
--disable-silent-rules \
|
--disable-silent-rules \
|
||||||
--with-included-glib \
|
--with-included-glib \
|
||||||
@ -43,9 +42,9 @@ build_gettext() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
build_neovim() {
|
build_neovim() {
|
||||||
# slightly modified version of /Neovim/.github/scripts/build_universal_macos.sh
|
# slightly modified version of Neovim's Github workflow for release
|
||||||
local -r -x MACOSX_DEPLOYMENT_TARGET=$1
|
local -r -x MACOSX_DEPLOYMENT_TARGET=$1
|
||||||
local -r -x SDKROOT=$(xcrun --sdk macosx --show-sdk-path)
|
local -x SDKROOT; SDKROOT=$(xcrun --sdk macosx --show-sdk-path); readonly SDKROOT
|
||||||
|
|
||||||
# Brew's gettext does not get sym-linked to PATH
|
# Brew's gettext does not get sym-linked to PATH
|
||||||
export PATH="/opt/homebrew/opt/gettext/bin:/usr/local/opt/gettext/bin:${PATH}"
|
export PATH="/opt/homebrew/opt/gettext/bin:/usr/local/opt/gettext/bin:${PATH}"
|
||||||
@ -53,7 +52,6 @@ build_neovim() {
|
|||||||
cmake -S cmake.deps -B .deps -G Ninja \
|
cmake -S cmake.deps -B .deps -G Ninja \
|
||||||
-D CMAKE_BUILD_TYPE="${NVIM_BUILD_TYPE}" \
|
-D CMAKE_BUILD_TYPE="${NVIM_BUILD_TYPE}" \
|
||||||
-D CMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
|
-D CMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
|
||||||
-D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \
|
|
||||||
-D CMAKE_FIND_FRAMEWORK=NEVER
|
-D CMAKE_FIND_FRAMEWORK=NEVER
|
||||||
cmake --build .deps
|
cmake --build .deps
|
||||||
|
|
||||||
@ -62,8 +60,7 @@ build_neovim() {
|
|||||||
cmake -B build -G Ninja \
|
cmake -B build -G Ninja \
|
||||||
-D CMAKE_BUILD_TYPE="${NVIM_BUILD_TYPE}" \
|
-D CMAKE_BUILD_TYPE="${NVIM_BUILD_TYPE}" \
|
||||||
-D CMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
|
-D CMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \
|
||||||
-D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \
|
-D CMAKE_FIND_FRAMEWORK=NEVER \
|
||||||
-D CMAKE_FIND_FRAMEWORK=LAST \
|
|
||||||
-D LIBINTL_INCLUDE_DIR="${gettext_install_dir}/include" \
|
-D LIBINTL_INCLUDE_DIR="${gettext_install_dir}/include" \
|
||||||
-D LIBINTL_LIBRARY="${gettext_install_dir}/lib/libintl.a"
|
-D LIBINTL_LIBRARY="${gettext_install_dir}/lib/libintl.a"
|
||||||
cmake --build build
|
cmake --build build
|
||||||
|
43
bin/neovim/bin/build_neovim_for_dev.sh
Executable file
43
bin/neovim/bin/build_neovim_for_dev.sh
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
# This script builds Neovim with gettext for host's architecture, *no* universal build
|
||||||
|
# Produces /Neovim/build/neovim-macos-$arch.tar.gz
|
||||||
|
|
||||||
|
readonly clean=${clean:?"true or false"}
|
||||||
|
readonly NVIM_BUILD_TYPE=${NVIM_BUILD_TYPE:-"Release"}
|
||||||
|
|
||||||
|
build_neovim() {
|
||||||
|
# slightly modified version of Neovim's Github workflow for release
|
||||||
|
local -r -x MACOSX_DEPLOYMENT_TARGET=$1
|
||||||
|
local -x SDKROOT; SDKROOT=$(xcrun --sdk macosx --show-sdk-path); readonly SDKROOT
|
||||||
|
|
||||||
|
# Brew's gettext does not get sym-linked to PATH
|
||||||
|
export PATH="/opt/homebrew/opt/gettext/bin:/usr/local/opt/gettext/bin:${PATH}"
|
||||||
|
|
||||||
|
make CMAKE_BUILD_TYPE="${NVIM_BUILD_TYPE}"
|
||||||
|
cpack --config build/CPackConfig.cmake
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
# This script is located in /bin/neovim/bin and we have to go to /
|
||||||
|
pushd "$(dirname "${BASH_SOURCE[0]}")/../../../" >/dev/null
|
||||||
|
|
||||||
|
local deployment_target
|
||||||
|
deployment_target=$(jq -r .deploymentTarget ./bin/neovim/resources/buildInfo.json)
|
||||||
|
readonly deployment_target
|
||||||
|
|
||||||
|
pushd ./Neovim >/dev/null
|
||||||
|
echo "### Building neovim binary"
|
||||||
|
if [[ "${clean}" == true ]]; then
|
||||||
|
make distclean
|
||||||
|
fi
|
||||||
|
|
||||||
|
build_neovim "${deployment_target}"
|
||||||
|
popd >/dev/null
|
||||||
|
|
||||||
|
popd >/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
||||||
|
|
48
bin/neovim/bin/build_universal_neovim.sh
Executable file
48
bin/neovim/bin/build_universal_neovim.sh
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
# This script creates a universal build, incl. Treesitter `so`s. The Treesitter
|
||||||
|
# libs are put under the `runtime` folder instead of under `lib`.
|
||||||
|
#
|
||||||
|
# It expects to find the following files in the workspace root:
|
||||||
|
# - nvim-macos-x86_64.tar.gz
|
||||||
|
# - nvim-macos-arm64.tar.gz
|
||||||
|
# It will produce the following in the workspace root:
|
||||||
|
# - nvim-macos-universal.tar.bz
|
||||||
|
#
|
||||||
|
# To be used in the context of Github actions
|
||||||
|
|
||||||
|
main() {
|
||||||
|
# This script is located in /bin/neovim/bin and we have to go to /
|
||||||
|
pushd "$(dirname "${BASH_SOURCE[0]}")/../../../" >/dev/null
|
||||||
|
|
||||||
|
tar -xf nvim-macos-x86_64.tar.gz
|
||||||
|
tar -xf nvim-macos-arm64.tar.gz
|
||||||
|
|
||||||
|
mkdir -p "nvim-macos-universal"
|
||||||
|
|
||||||
|
local universal_folder_path; universal_folder_path="$(pwd)/nvim-macos-universal";
|
||||||
|
readonly universal_folder_path
|
||||||
|
echo "${universal_folder_path}"
|
||||||
|
ls -la
|
||||||
|
|
||||||
|
mkdir -p "${universal_folder_path}/bin"
|
||||||
|
cp -r nvim-macos-arm64/share "${universal_folder_path}"
|
||||||
|
mkdir -p "${universal_folder_path}/share/nvim/runtime/parser"
|
||||||
|
|
||||||
|
lipo -create nvim-macos-arm64/bin/nvim nvim-macos-x86_64/bin/nvim \
|
||||||
|
-output "${universal_folder_path}/bin/nvim"
|
||||||
|
for f in nvim-macos-arm64/lib/nvim/parser/*; do
|
||||||
|
f="${f%/}"
|
||||||
|
local filename="${f##*/}"
|
||||||
|
lipo -create "nvim-macos-arm64/lib/nvim/parser/${filename}" \
|
||||||
|
"nvim-macos-x86_64/lib/nvim/parser/${filename}" \
|
||||||
|
-output "${universal_folder_path}/share/nvim/runtime/parser/${filename}"
|
||||||
|
done
|
||||||
|
|
||||||
|
tar -cjf nvim-macos-universal.tar.bz nvim-macos-universal
|
||||||
|
|
||||||
|
popd >/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"deploymentTarget": "12",
|
"deploymentTarget": "12",
|
||||||
"gettext": {
|
"neovimRelease": "neovim-v0.10.0-20240527.232810"
|
||||||
"arm64BottleTag": "arm64_monterey",
|
|
||||||
"x86_64BottleTag": "monterey"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
# Next
|
# Next
|
||||||
|
|
||||||
|
* Neovim 0.10.0 😀
|
||||||
|
|
||||||
|
# v0.46.2-20240517.102525
|
||||||
|
|
||||||
* GH-1059: Improved coloring of custom tabs; thanks @s-daveb for the PR!
|
* GH-1059: Improved coloring of custom tabs; thanks @s-daveb for the PR!
|
||||||
|
|
||||||
# v0.46.1-20240426.143700
|
# v0.46.1-20240426.143700
|
||||||
|
Loading…
Reference in New Issue
Block a user