wojciech-kulik / ios-dev-starter-nvim

Bootstrap for iOS development in Neovim + LazyVim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 - download latest release for DARWIN and unzip vsix file. Then make sure that the path in nvim-dap.lua points to this folder
  • Xcodeproj - to manage Xcode project file
  • xcode-build-server - build your project in Xcode, clone the repository, unzip, and run this tool for your project
  • pymobiledevice3 - to debug on physical devices and/or run apps on devices below iOS 17
  • SwiftLint - code linter
  • SwiftFormat - code formatter
  • xcbeautify - Xcode logs formatter

Installation

Please make sure to install all dependencies and get familiar with README.md from xcodebuild.nvim repository.

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:

NVIM_APPNAME=ios-dev-starter-nvim nvim

Basic Key Bindings

<leader> = space

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

Full Tutorial

This repository is a complementary project for my blog post: 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 plugin that adds actions like build, run, and test for iOS and macOS apps to your Neovim.

About

Bootstrap for iOS development in Neovim + LazyVim

License:MIT License


Languages

Language:Lua 100.0%