cmp-tidal
Autocompletion for Tidal Cycles powered by nvim-cmp and hoogle.
Requirements
Installation
Nvim-cmp
Please have a look at the offical repo.
Cmp-tidal
For vim-plug:
Plug 'nvim-lua/plenary.nvim'
Plug 'fools-mate/cmp-tidal'
For packer.nvim:
use {'fools-mate/cmp-tidal', requires = 'nvim-lua/plenary.nvim'}
Hoogle
cabal install hoogle
hoogle generate
Configuration
Tidal
require("cmp").setup({
sources = {
{name = 'tidal'},
-- ...more sources
}
})
Samples
require("cmp").setup({
sources = {
{name = 'tidal'},
{name = 'tidal_samples'},
-- ...more sources
}
})
Options
By default tidal_samples
will use the standard installation paths for the 'Dirt Samples'. You can change this by passing the absolute path to your 'Dirt Samples' folder to the dirt_samples
option.
E.g.:
require("cmp").setup({
sources = {
{name = 'tidal'},
{
name = 'tidal_samples',
option = {
dirt_samples = '/Users/fools-mate/Library/Application Support/SuperCollider/downloaded-quarks/Dirt-Samples'
}
},
-- ...more sources
}
})
Roadmap
- New option:
custom_samples
to pass additional custom sample folders - Autocompletion for sample number (bd -> bd:1)
- Caching
Ideas
- New option
custom_commands
fortidal
source to pass a list of commands that are not part of the Tidal library (e.g. {name: ..., abbr(optional): ..., description(optional): ...}) - Autocompletion for mini-notation (https://tidalcycles.org/docs/reference/mini_notation#mini-notation-table)