diff --git a/lua/config/nvim-cmp.lua b/lua/config/nvim-cmp.lua index c1defdb..c740300 100644 --- a/lua/config/nvim-cmp.lua +++ b/lua/config/nvim-cmp.lua @@ -79,5 +79,6 @@ cmp.setup({ { name = 'path' }, -- For path completion { name = 'rpncalc' }, -- for RPN calculations { name = 'orgmode' }, -- for nvim-orgmode + { name = 'sonicpi' }, -- for sonic-pi integration }) }) diff --git a/lua/options.lua b/lua/options.lua index c0ed8d3..3c59759 100644 --- a/lua/options.lua +++ b/lua/options.lua @@ -24,6 +24,7 @@ vim.opt.splitbelow = true -- open new vertical split bottom vim.opt.splitright = true -- open new horizontal splits right vim.opt.termguicolors = true -- enable 24-bit RGB color in the TUI vim.opt.showmode = false -- we are experienced, wo don't need the "-- INSERT --" mode hint +vim.opt.showtabline = 0 -- never show top line with tabs, not used anyways -- Searching vim.opt.incsearch = true -- search as characters are entered diff --git a/lua/plugins.lua b/lua/plugins.lua index 44ca5f3..ecf20dc 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -33,6 +33,7 @@ require("lazy").setup({ version = "v2.*", config = function() require("luasnip.loaders.from_snipmate").lazy_load() + require("luasnip.loaders.from_lua").lazy_load() end, }, @@ -445,4 +446,58 @@ require("lazy").setup({ require('gitsigns').setup() end, }, + + -- -- Live Coding: sonic-pi music programming + -- { + -- 'magicmonty/sonicpi.nvim', + -- -- broken if used here, setup called further below + -- -- config = function() + -- -- require('sonicpi').setup() + -- -- end, + -- dependencies = { + -- 'hrsh7th/nvim-cmp', + -- 'kyazdani42/nvim-web-devicons' + -- }, + -- }, + + -- easy term on a shortcut + { + "akinsho/toggleterm.nvim", + config = true, + keys = { + { + "", + ":ToggleTerm", + desc = "Toggle terminal", + }, + { + "", + ":ToggleTerm", + mode = 't', + desc = "Toggle terminal", + }, + }, + }, + + -- Live Coding: tidal cycles support + { + 'tidalcycles/vim-tidal', + config = function() + vim.g.tidal_sc_enable = 1 + end, + }, }) + +-- require('sonicpi').setup({ +-- server_dir = '/opt/sonic-pi/app/server', +-- mappings = { +-- { 'n', 'd', ':SonicPiStartDaemon', { desc = 'Sonic Pi: start daemon' } }, +-- { 'n', 's', require('sonicpi.remote').stop, { desc = 'Sonic Pi: stop' } }, +-- { 'i', '', require('sonicpi.remote').stop, { desc = 'Sonic Pi: stop' } }, +-- { 'n', 'r', require('sonicpi.remote').run_current_buffer, { desc = 'Sonic Pi: run' } }, +-- { 'i', '', require('sonicpi.remote').run_current_buffer, { desc = 'Sonic Pi: run' } }, +-- { 'n', 'R', ':SonicPiSendBuffer', { desc = 'Sonic Pi: send buffer' } }, +-- { 'i', '', ':SonicPiSendBuffer', { desc = 'Sonic Pi: send buffer' } }, +-- }, +-- single_file = true, +-- }) diff --git a/luasnippets/asciidoc.lua b/luasnippets/asciidoc.lua new file mode 100644 index 0000000..da4a6bc --- /dev/null +++ b/luasnippets/asciidoc.lua @@ -0,0 +1,67 @@ +-- these are already defined elsewhere, but LSP does not recognize that +-- doc says luasnip.config.snip_env +local ls = require("luasnip") +local s = ls.snippet +local sn = ls.snippet_node +local isn = ls.indent_snippet_node +local t = ls.text_node +local i = ls.insert_node +local f = ls.function_node +local c = ls.choice_node +local d = ls.dynamic_node +local r = ls.restore_node +local events = require("luasnip.util.events") +local ai = require("luasnip.nodes.absolute_indexer") +local extras = require("luasnip.extras") +local l = extras.lambda +local rep = extras.rep +local p = extras.partial +local m = extras.match +local n = extras.nonempty +local dl = extras.dynamic_lambda +local fmt = require("luasnip.extras.fmt").fmt +local fmta = require("luasnip.extras.fmt").fmta +local conds = require("luasnip.extras.expand_conditions") +local postfix = require("luasnip.extras.postfix").postfix +local types = require("luasnip.util.types") +local parse = require("luasnip.util.parser").parse_snippet +local ms = ls.multi_snippet +local k = require("luasnip.nodes.key_indexer").new_key + +-- ensure current locale is used to format dates +local curlang = os.getenv("LANG") +os.setlocale(curlang) + +return { + + -- = Oktober 2024 + -- :toc: + -- :numbered!: + -- + -- + s("diahead", + { + t "= ", + f(function() return os.date("%0B %Y") end), + t({ "", "", }), + t({ ":toc:", "" }), + t({ ":numbered!:", "" }), + t({ "", "", }), + } + ), + + -- == 7. Oktober, 11:14, Montag + -- + -- + s("diaentry", + { + t "== ", + f(function() return os.date("%e. %0B, %H:%M, %A") end), + t({ "", "", }), + t({ "", "", }), + } + ), + +} + +--