mirror of
https://github.com/qvacua/vimr.git
synced 2024-09-11 17:15:34 +03:00
Compare commits
3 Commits
601f2b151b
...
80fb7e3ba9
Author | SHA1 | Date | |
---|---|---|---|
|
80fb7e3ba9 | ||
|
f3bc562276 | ||
|
bdcde67821 |
14
DEVELOP.md
14
DEVELOP.md
@ -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
|
||||
|
||||
|
21
README.md
21
README.md
@ -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/
|
||||
```
|
||||
|
@ -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"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -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" */ = {
|
||||
|
@ -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
|
@ -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
|
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user