1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-12-03 00:54:42 +03:00
vimr/README.md
2016-06-06 23:29:36 +02:00

54 lines
1.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

nvox
====
<strong>N</strong>eo<strong>V</strong>im for <strong>O</strong>S <strong>X</strong>
## About
nvox is a *toy* project, meaning e.g. no tests whatsoever, for me to:
- play around with [NeoVim](https://github.com/neovim),
- play around with the `XPC`-architecture and to find out whether this is a viable choice for an OSX-NeoVim-GUI-app and
- play around with Swift (and [RxSwift](https://github.com/ReactiveX/RxSwift)).
It could very well be that nothing useful comes out of it.
## How to Build
First install `homebrew`, then:
```bash
xcode-select --install # install the Xcode command line tools
brew install carthage # install Carthage for dependency management
brew install libtool automake cmake pkg-config gettext ninja # install libs and tools for neovim
carthage update --platform osx
git submodule update --init
cd neovim
ln -s ../NeoVimXpc/local.mk .
make libnvim # optional, the nvox target in Xcode also does this
```
Run the `nvox`-target in Xcode.
## Project Setup
### Artifacts Hierarchy
```
nvox.app
+-- SwiftNeoVim.framework
   +-- NeoVimView
   +-- NeoVimXpc.xpc
      +-- libnvim
      +-- other libs for NeoVim
      +-- runtime files for NeoVim
```
### Libraries for NeoVim
* The library `libiconv` is linked by the linker flag `-liconv`. The version bundled with OSX will be linked.
* The library `libintl` should be installed by `homebrew` and is statically linked by explicitly using the linker flag `/usr/local/opt/gettext/lib/libintl.a`.
* Other libraries used by NeoVim, which are automatically built by building `libnvim`, are linked by adding them to the Xcode project.