Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wojciech-kulik/ios-dev-starter-nvim

Bootstrap for iOS development in Neovim + LazyVim
https://github.com/wojciech-kulik/ios-dev-starter-nvim

ios macos neovim nvim swift xcode

Last synced: about 3 hours ago
JSON representation

Bootstrap for iOS development in Neovim + LazyVim

Awesome Lists containing this project

README

        

# ios-dev-starter-nvim

This a repository with a sample config that provides all features required to develop iOS and macOS apps in Neovim.

## Requirements

- [codelldb](https://github.com/vadimcn/codelldb/releases) - download latest release for DARWIN and unzip `vsix` file. Then make sure that the path in `nvim-dap.lua` points to this folder
- [Xcodeproj](https://github.com/CocoaPods/Xcodeproj) - to manage Xcode project file
- [xcode-build-server](https://github.com/SolaWing/xcode-build-server) - build your project in Xcode, clone the repository, unzip, and run this tool for your project
- [pymobiledevice3](https://github.com/doronz88/pymobiledevice3) - to debug on physical devices and/or run apps on devices below iOS 17
- [SwiftLint](https://github.com/realm/SwiftLint) - code linter
- [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - code formatter
- [xcbeautify](https://github.com/cpisciotta/xcbeautify) - Xcode logs formatter

## Installation

Please make sure to install all dependencies and get familiar with [README.md from xcodebuild.nvim repository](https://github.com/wojciech-kulik/xcodebuild.nvim).

```
brew install xcode-build-server
brew install xcbeautify
brew install swiftlint
brew install swiftformat
brew install ruby
gem install xcodeproj
python3 -m pip install -U pymobiledevice3
```

## Trying Out This Config

If you want to just try this config without affecting your own. You can check out this repository to your `~/.config` directory and run:

```bash
NVIM_APPNAME=ios-dev-starter-nvim nvim
```

## Basic Key Bindings

`` = `space`

- `X` - open `xcodebuild.nvim` picker with project actions
- `xf` - to open Project Manager and manage files
- `dd` - build, run & debug app
- `dt` - debug tests
- `xr` - build & run
- `xb` - build project
- `xt` - run tests
- `xc` - toggle code coverage
- `xC` - show code coverage report
- `b` - toggle breakpoint
- `e` - nvim-tree
- `fg` - Telescope grep
- `ff` - Telescope find file
- `tt` - toggle Trouble

## Full Tutorial

This repository is a complementary project for my blog post: [The Complete Guide To iOS & macOS Development In Neovim](https://wojciechkulik.pl/ios/the-complete-guide-to-ios-macos-development-in-neovim).

Please read it to learn how to use this config.

## Xcodebuild.nvim

If you already have your setup, you may want to check out just my [xcodebuild.nvim](https://github.com/wojciech-kulik/xcodebuild.nvim) plugin that adds actions like build, run, and test for iOS and macOS apps to your Neovim.