1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-09-11 17:15:34 +03:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Tae Won Ha
80fb7e3ba9
Update deps 2024-05-30 12:59:42 +09:00
Tae Won Ha
f3bc562276
Archive artifacts even if the job is not successful 2024-05-30 11:06:54 +09:00
Tae Won Ha
bdcde67821
Update readme and develop 2024-05-30 11:04:26 +09:00
8 changed files with 38 additions and 59 deletions

View File

@ -1,18 +1,26 @@
## How to develop
In most cases, you can use the pre-built universal Neovim build by running
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
```bash
clean=true for_dev=false ./bin/build_nvimserver.sh
```
If you want to build Neovim locally, i.e., no universal build, you can use
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
```bash
clean=true for_dev=true ./bin/build_nvimserver.sh
```
This is used when generating source since we need some generated header files.
Afterwards, you can run VimR target in Xcode.
(This is used when generating source since we need some generated header files.)
### How to enable the Debug menu in Release build

View File

@ -7,11 +7,10 @@
## About
Project VimR is a Neovim GUI for macOS written in Swift.
VimR is a Neovim GUI for macOS written in Swift.
The goal is to build an editor that uses Neovim inside with many of the convenience
GUI features similar to those present in modern editors. We mainly use Swift,
but also use C/Objective-C when where appropriate.
The goal is to build an editor that uses Neovim inside with some of the convenience
GUI features similar to those present in modern editors.
There are other Neovim GUIs for macOS, see the [list](https://github.com/neovim/neovim/wiki/Related-projects#gui), so why?
@ -30,9 +29,11 @@ Pre-built Universal signed and notarized binaries can be found under [Releases](
## Reusable Components
* [RxMsgpackRpc](https://github.com/qvacua/vimr/blob/develop/RxPack/RxMsgpackRpc.swift): Implementation of MsgpackRpc using RxSwift.
* [RxNeovimApi](https://github.com/qvacua/vimr/blob/develop/RxPack/RxNeovimApi.swift): RxSwift wrapper of Neovim API.
* [NvimView](https://github.com/qvacua/vimr/tree/develop/NvimView): SwiftPM module containing an NSView which bundles everything, e.g., Neovim binary and its `runtime`-files, needed to embed Neovim in a Cocoa App.
* [NvimView](https://github.com/qvacua/vimr/tree/master/NvimView): SwiftPM module containing
an NSView which bundles everything, e.g., Neovim binary and its `runtime`-files, needed to
embed Neovim in a Cocoa App.
* [RxMsgpackRpc](https://github.com/qvacua/vimr/tree/master/RxPack/Sources/RxPack/RxMsgpackRpc.swift): Implementation of MsgpackRpc using RxSwift.
* [RxNeovimApi](https://github.com/qvacua/vimr/tree/master/RxPack/Sources/RxNeovim): RxSwift wrapper of Neovim API.
## Some Features
@ -50,12 +51,10 @@ Pre-built Universal signed and notarized binaries can be found under [Releases](
Clone this repository. Install `homebrew`, then in the project root:
```bash
git submodule init
git submodule update
git submodule update --init
xcode-select --install # install the Xcode command line tools, if you haven't already
brew bundle
brew bundle # install dependencies, e.g., build tools for Neovim
clean=true notarize=false ./bin/build_vimr.sh
# VimR.app will be placed in ./build/Build/Products/Release/
```

View File

@ -95,8 +95,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/ReactiveX/RxSwift",
"state" : {
"revision" : "9dcaa4b333db437b0fbfaf453fad29069044a8b4",
"version" : "6.6.0"
"revision" : "b06a8c8596e4c3e8e7788e08e720e3248563ce6a",
"version" : "6.7.1"
}
},
{
@ -113,8 +113,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/sparkle-project/Sparkle",
"state" : {
"revision" : "0a4caaf7a81eea2cece651ef4b17331fa0634dff",
"version" : "2.6.0"
"revision" : "41847a58cdef7506b257591fcca6f9495df591d4",
"version" : "2.6.2"
}
},
{

View File

@ -1361,7 +1361,7 @@
repositoryURL = "https://github.com/ReactiveX/RxSwift";
requirement = {
kind = exactVersion;
version = 6.6.0;
version = 6.7.1;
};
};
4B9BC42824EB2E6D000209B5 /* XCRemoteSwiftPackageReference "ShortcutRecorder" */ = {
@ -1393,7 +1393,7 @@
repositoryURL = "https://github.com/sparkle-project/Sparkle";
requirement = {
kind = exactVersion;
version = 2.6.0;
version = 2.6.2;
};
};
4BADD55C283ABD0200C6B16D /* XCRemoteSwiftPackageReference "swift-collections" */ = {

View File

@ -1,24 +0,0 @@
#!/bin/bash
set -Eeuo pipefail
readonly clean=${clean:?"true or false: when true, xcodebuild clean will be performed"}
main() {
if [[ "${clean}" == true ]]; then
local -r cmd="clean build"
else
local -r cmd="build"
fi
pushd "$(dirname "${BASH_SOURCE[0]}")/.." > /dev/null
xcodebuild \
-workspace VimR.xcworkspace \
-derivedDataPath ./build \
-configuration Release \
-scheme VimR \
-xcconfig ./VimR/Dev.xcconfig \
${cmd}
popd >/dev/null
}
main

View File

@ -1,13 +0,0 @@
#!/bin/bash
set -Eeuo pipefail
pushd "$(dirname "${BASH_SOURCE[0]}")/../../.." >/dev/null
pushd ./Neovim
rm -rf ./build
rm -rf ./.deps
make distclean
popd
popd >/dev/null

View File

@ -42,7 +42,6 @@ releaseVimRJob.with {
publishers {
archiveArtifacts {
pattern('Neovim/build/**, build/Build/Products/Release/**, release.spec.sh, release-notes.temp.md, appcast*, build_release.temp.sh')
onlyIfSuccessful()
}
}
}
@ -78,7 +77,6 @@ nightlyVimRJob.with {
publishers {
archiveArtifacts {
pattern('Neovim/build/**, build/Build/Products/Release/**')
onlyIfSuccessful()
}
}
}

View File

@ -1,5 +1,16 @@
# Next
* Dependencies updates:
- sparkle-project/Sparkle@2.7.2
- ReactiveX/RxSwift@6.7.1
# v0.47.1-20240528.171603
* Neovim 0.10.0 😀
- 0.47.0 did not contain the generated API methods for Neovim 0.10.0...
# v0.47.0-20240528.165939
* Neovim 0.10.0 😀
# v0.46.2-20240517.102525