Add syntax highlighting to the nvim-dap REPL buffer using treesitter.
Before | After |
---|---|
- Neovim 0.9 or later
- nvim-treesitter
Install the plugin and the requirements using your favourite method. Once installed, make sure you configured treesitter highlighting then add the following to your lua config
require('nvim-dap-repl-highlights').setup()
After initially setting up the plugin the dap_repl parser needs to be installed, this can be done manually by running :TSInstall dap_repl
or by using the ensure_installed
option of nvim-treesitter.
NOTE: If you use the ensure_installed
option you must first setup nvim-dap-repl-highlights
or else the dap_repl
parser won't be found, for example
require('nvim-dap-repl-highlights').setup()
require('nvim-treesitter.configs').setup {
highlight = {
enable = true,
},
ensure_installed = { 'dap_repl', ... },
...
}
By default, the plugin detects the language to use in the REPL by looking at the filetype used to to launch dap. Obviously in order to have syntax highlighting for certain language you will need to have a treesitter parser for that language, alongside the dap_repl
parser.
This may not fit all use cases.
You could instead use the command :lua require('nvim-dap-repl-highlights').setup_highlights('python')
which will set python highlights in the current repl buffer.
Alternatively the function can be called without specifiying the language, this will prompt the user for a language.
Additionally you could specify in the dap configuration the repl language to use, for example if you want your python repl to have javascript highlighting:
local dap = require('dap')
dap.configurations.python = {
{
name = "Python with javascript repl because I like to watch the world burn 🔥🔥🔥",
type = "python",
request = "launch",
program = "${file}",
repl_lang = "javascript"
},
}
The repl_lang option takes precedence over the filetype.