.. _editor_support:
*************************
Editor support
*************************
NPF support in editors and IDEs is currently WIP. Support for syntax highlighting is available through a `Tree-sitter `_ parser, available `on the tree-sitter-npf repository `_.
Supported editors
=================
Even if not in the list, all editors using Tree-sitter should be compatible with the parser. Currently, VSCode is not supported as it does not use Tree-sitter by default, but you can have a look at `Zed `_ (instructions below) which is fairly similar and has VSCode key binding. The following tutorial assumes that you are using Linux.
Neovim
------
To get started with using NPF with `Neovim `_, a small config file is `available `_. The **init.lua** file should be put at ~/.config/nvim/init.lua. This is a small config aimed at people that want to quickly edit NPF file through Neovim and want a simple config that just works.
If you are already familiar with Neovim and already have a Neovim config, you can replace the **nvim-treesitter/nvim-treesitter** plugin by the forked supporting NPF : **ntyunyayev/nvim-treesitter**:
.. code-block:: lua
{
-- Highlight, edit, and navigate code
'ntyunyayev/nvim-treesitter',
dependencies = {
'nvim-treesitter/nvim-treesitter-textobjects',
},
build = ':TSUpdate',
},
Then you can install the NPF parser from inside Neovim:
.. code-block:: bash
:TSInstall npf
Helix
--------
For `Helix `_ users, a small config is also available `on the helix-npf repo `_. You can copy the content inside **~/.config/helix**.
Zed
--------
If you come from VSCode, this option will be the most familiar for your. An extension is available `on the zed-npf repo `_. You can simply clone the repo and then open Zed, open the extensions menu (CTRL+SHIFT+X) click on **Install Dev Extension** and search for the cloned repo.