diff --git a/nvim/coc-settings.json b/nvim/coc-settings.json index 01336bc..c3f9085 100644 --- a/nvim/coc-settings.json +++ b/nvim/coc-settings.json @@ -9,12 +9,15 @@ "cSpell.userWords": [ "Monero", "bcrypt", + "cupy", "favicon", + "keras", "kosh", "ndarray", "overdiscounting", "paytmchecksum", "pyperclip", + "relu", "transfeminism", "werkzeug" ] diff --git a/nvim/init.lua b/nvim/init.lua index 2c3f7e7..2451e8e 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -53,3 +53,40 @@ require('gitsigns').setup() -- tabline require("bufferline").setup{} require('nvim-web-devicons').setup{} + +-- Jupyter +require('notebook').setup() +local api = require("notebook.api") +local settings = require("notebook.settings") + +function _G.define_cell(extmark) + if extmark == nil then + local line = vim.fn.line(".") + extmark, _ = api.current_extmark(line) + end + local start_line = extmark[1] + 1 + local end_line = extmark[3].end_row + pcall(function() vim.fn.MagmaDefineCell(start_line, end_line) end) +end + +function _G.define_all_cells() + local buffer = vim.api.nvim_get_current_buf() + local extmarks = settings.extmarks[buffer] + for id, cell in pairs(extmarks) do + local extmark = vim.api.nvim_buf_get_extmark_by_id( + 0, settings.plugin_namespace, id, { details = true } + ) + if cell.cell_type == "code" then + define_cell(extmark) + end + end +end + +vim.api.nvim_create_autocmd( + { "BufRead", }, + { pattern = { "*.ipynb" }, command = "MagmaInit" } +) +vim.api.nvim_create_autocmd( + "User", + { pattern = { "MagmaInitPost", "NBPostRender" }, callback = _G.define_all_cells } +) diff --git a/nvim/lua/kosh/keymaps.lua b/nvim/lua/kosh/keymaps.lua index 4a6984a..cae9dae 100644 --- a/nvim/lua/kosh/keymaps.lua +++ b/nvim/lua/kosh/keymaps.lua @@ -53,3 +53,5 @@ set_keymap("n", "zA", "zA", opts) -- cmdline set_keymap('n', ':', 'FineCmdline', opts) set_keymap('n', '/', 'FineCmdline/', opts) + +--set_keymap("n", "nbo") diff --git a/nvim/lua/kosh/plugins.lua b/nvim/lua/kosh/plugins.lua index 46b03f4..feec8c0 100644 --- a/nvim/lua/kosh/plugins.lua +++ b/nvim/lua/kosh/plugins.lua @@ -56,4 +56,6 @@ return require("packer").startup(function(use) end, }) use "adelarsq/vim-devicons-emoji" + use { 'dccsillag/magma-nvim', run = ':UpdateRemotePlugins' } + use {"meatballs/notebook.nvim"} end) diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua index 0df5b97..d522910 100644 --- a/nvim/plugin/packer_compiled.lua +++ b/nvim/plugin/packer_compiled.lua @@ -130,11 +130,21 @@ _G.packer_plugins = { path = "/home/kosh/.local/share/nvim/site/pack/packer/start/lualine.nvim", url = "https://github.com/nvim-lualine/lualine.nvim" }, + ["magma-nvim"] = { + loaded = true, + path = "/home/kosh/.local/share/nvim/site/pack/packer/start/magma-nvim", + url = "https://github.com/dccsillag/magma-nvim" + }, ["markdown-preview.nvim"] = { loaded = true, path = "/home/kosh/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim", url = "https://github.com/iamcco/markdown-preview.nvim" }, + ["notebook.nvim"] = { + loaded = true, + path = "/home/kosh/.local/share/nvim/site/pack/packer/start/notebook.nvim", + url = "https://github.com/meatballs/notebook.nvim" + }, ["nui.nvim"] = { loaded = true, path = "/home/kosh/.local/share/nvim/site/pack/packer/start/nui.nvim", diff --git a/wallpapers/bi_hill.jpg b/wallpapers/bi_hill.jpg new file mode 100644 index 0000000..6b30bad Binary files /dev/null and b/wallpapers/bi_hill.jpg differ diff --git a/wallpapers/nonbinary-road.jpg b/wallpapers/nonbinary-road.jpg new file mode 100644 index 0000000..434aad4 Binary files /dev/null and b/wallpapers/nonbinary-road.jpg differ