All Projects → mitsuse → Autocomplete Swift

mitsuse / Autocomplete Swift

Licence: mit
Autocompletion for Swift in NeoVim with deoplete.

Programming Languages

python
139335 projects - #7 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to Autocomplete Swift

Deoplete Rust
Rust completion for Neovim (Deoplete) via Racer
Stars: ✭ 126 (+36.96%)
Mutual labels:  neovim, autocomplete
Coc Angular
Angular Language Service coc extension for (neo)vim
Stars: ✭ 95 (+3.26%)
Mutual labels:  neovim, autocomplete
Neovim Init.vim
🏮 The perfect Neovim configuration for productive people who wants to level up their Vim experience with a clean, minimal-looking aesthetic, as well as a highly extensible, easily customizable set of popular tools and shortcuts to boost productivity. 🏮
Stars: ✭ 440 (+378.26%)
Mutual labels:  neovim, autocomplete
Ncm R
R autocompletion for Neovim and vim 8 📝 📊 ⚡️
Stars: ✭ 102 (+10.87%)
Mutual labels:  neovim, autocomplete
Coc Flutter
flutter support for (Neo)vim
Stars: ✭ 259 (+181.52%)
Mutual labels:  neovim, autocomplete
Vim Language Server
VImScript language server, LSP for vim script
Stars: ✭ 264 (+186.96%)
Mutual labels:  neovim, autocomplete
Vim Lsc
A vim plugin for communicating with a language server
Stars: ✭ 545 (+492.39%)
Mutual labels:  neovim, autocomplete
Todoist.nvim
A todoist extension for neovim
Stars: ✭ 84 (-8.7%)
Mutual labels:  neovim
Autocomplete
🔮 Fast and full-featured autocomplete library
Stars: ✭ 1,268 (+1278.26%)
Mutual labels:  autocomplete
Page
Use neovim as pager
Stars: ✭ 83 (-9.78%)
Mutual labels:  neovim
Vim Horizon
Adaptation of VS Code horizon colorscheme for Vim
Stars: ✭ 82 (-10.87%)
Mutual labels:  neovim
Seabird
a vim and terminal theme based on hue 204 (blue, blue...)
Stars: ✭ 84 (-8.7%)
Mutual labels:  neovim
Gnvim
GUI for neovim, without any web bloat
Stars: ✭ 1,271 (+1281.52%)
Mutual labels:  neovim
Neuron.vim
📝 Manage your Zettelkasten in {n}vim.
Stars: ✭ 84 (-8.7%)
Mutual labels:  neovim
Vim Pink Moon
A vim/neovim colorscheme
Stars: ✭ 89 (-3.26%)
Mutual labels:  neovim
Codeeditor
A cool code editor library on Android with syntax-highlighting and auto-completion.
Stars: ✭ 84 (-8.7%)
Mutual labels:  autocomplete
Vim Which Key
🌷 Vim plugin that shows keybindings in popup
Stars: ✭ 1,310 (+1323.91%)
Mutual labels:  neovim
Vim Rfc
📓 Query RFC database and download RFCs from within Vim.
Stars: ✭ 88 (-4.35%)
Mutual labels:  neovim
Dotfiles
My Neovim, ZSH, Tmux and dev tools setup, with installation scipts
Stars: ✭ 85 (-7.61%)
Mutual labels:  neovim
Vim 42header
vim header for 42 projects
Stars: ✭ 85 (-7.61%)
Mutual labels:  neovim

autocomplete-swift

License Release

Autocompletion for Swift in NeoVim with deoplete.

completion-gif

Announcement

  • The support for completion on SPM-based project is added.
  • Autocompletion-swift droped support for Vim and completion with omni-function. Please use this plugin in NeoVim with deoplete.nvim.

Installation

Autocomplete-swift uses SourceKitten as its back-end. SourceKitten can be installed with Homebrew. This plugin also requires PyYaml.

Please execute the following commands:

$ brew install sourcekitten
$ pip install pyyaml

To install autocomplete-swift, it is recommended to use plugin manager such as dein.vim. In the case of dein.vim, please add the following codes into init.vim and configure them:

call dein#add('Shougo/deoplete.nvim')
call dein#add('mitsuse/autocomplete-swift')

This plugin also supports jumping to placeholders in arguments of method. The following configuration is required:

" Jump to the first placeholder by typing `<C-k>`.
autocmd FileType swift imap <buffer> <C-k> <Plug>(autocomplete_swift_jump_to_placeholder)

If you use neosnippet, you should enable key-mappings of neosnippets instead of using the above code. Autocomplete-swift gets along with neosnippet by converting placeholders into its ones.

swift filetype

If your vim setup doesn't set *.swift file's filetype to swift you need to put this line in your config:

autocmd BufNewFile,BufRead *.swift set filetype=swift

Features

Completion

Autocomplete-swift supports types of completion as follow:

  • Type name
  • Type/Instance member
  • Function/method/initializer parameter
  • Top-level function/constant/variable
  • Keyword such as protocol, extension etc.
  • Method definition

Placeholder

This plugin supports jumping to placeholders in arguments of method. Please read Installation.

Custom Toolchain

The custom toolchain is available for completion. For example, if you want to use Swift 4.2, call autocomplete_swift#use_toolchain('Swift_4_2') or autocomplete_swift#use_custom_toolchain('com.apple.dt.toolchain.Swift_4_2').

Support for Swift Package Manager (SPM)

When you are editing a file managed with SPM, autocomplete-swift enables SPM-based completion. It means that you can obtain candidates which come from dependencies (other files or libraries).

Xcode Project Support

The previous version supported completion with framework/SDK experimentally, but the feature is removed because the completion server has fatal bugs.

TODO

  • Make configurable. For example, autocomplete-swift will get max_candiates for deoplete from a variable.

Related project

In the GIF on the beginning, I use snippets for Swift contained in neosnippet-snippets in addition to autocomplete-swift.

License

Please read LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].