Skip to content

Commit

Permalink
add: jupynium
Browse files Browse the repository at this point in the history
  • Loading branch information
misumisumi committed Jan 25, 2024
1 parent 25a71d8 commit c923501
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 0 deletions.
105 changes: 105 additions & 0 deletions lua/user/configs/lang/jupynium.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
return {
--- For Conda environment named "jupynium",
-- python_host = { "conda", "run", "--no-capture-output", "-n", "jupynium", "python" },
python_host = vim.g.python3_host_prog,

default_notebook_URL = "localhost:8888/nbclassic",

-- Write jupyter command but without "notebook"
-- When you call :JupyniumStartAndAttachToServer and no notebook is open,
-- then Jupynium will open the server for you using this command. (only when notebook_URL is localhost)
jupyter_command = "jupyter",
--- For Conda, maybe use base environment
--- then you can `conda install -n base nb_conda_kernels` to switch environment in Jupyter Notebook
-- jupyter_command = { "conda", "run", "--no-capture-output", "-n", "base", "jupyter" },

-- Used when notebook is launched by using jupyter_command.
-- If nil or "", it will open at the git directory of the current buffer,
-- but still navigate to the directory of the current buffer. (e.g. localhost:8888/nbclassic/tree/path/to/buffer)
notebook_dir = nil,

-- Used to remember the last session (password etc.).
-- e.g. '~/.mozilla/firefox/profiles.ini'
-- or '~/snap/firefox/common/.mozilla/firefox/profiles.ini'
firefox_profiles_ini_path = nil,
-- nil means the profile with Default=1
-- or set to something like 'default-release'
firefox_profile_name = nil,

-- Open the Jupynium server if it is not already running
-- which means that it will open the Selenium browser when you open this file.
-- Related command :JupyniumStartAndAttachToServer
auto_start_server = {
enable = false,
file_pattern = { "*.ju.*" },
},

-- Attach current nvim to the Jupynium server
-- Without this step, you can't use :JupyniumStartSync
-- Related command :JupyniumAttachToServer
auto_attach_to_server = {
enable = true,
file_pattern = { "*.ju.*", "*.md" },
},

-- Automatically open an Untitled.ipynb file on Notebook
-- when you open a .ju.py file on nvim.
-- Related command :JupyniumStartSync
auto_start_sync = {
enable = true,
file_pattern = { "*.ju.*", "*.md" },
},

-- Automatically keep filename.ipynb copy of filename.ju.py
-- by downloading from the Jupyter Notebook server.
-- WARNING: this will overwrite the file without asking
-- Related command :JupyniumDownloadIpynb
auto_download_ipynb = false,

-- Automatically close tab that is in sync when you close buffer in vim.
auto_close_tab = true,

-- Always scroll to the current cell.
-- Related command :JupyniumScrollToCell
autoscroll = {
enable = true,
mode = "always", -- "always" or "invisible"
cell = {
top_margin_percent = 20,
},
},

scroll = {
page = { step = 0.5 },
cell = {
top_margin_percent = 20,
},
},

-- Files to be detected as a jupynium file.
-- Add highlighting, keybindings, commands (e.g. :JupyniumStartAndAttachToServer)
-- Modify this if you already have lots of files in Jupytext format, for example.
jupynium_file_pattern = { "*.ju.*" },

use_default_keybindings = true,
textobjects = {
use_default_keybindings = true,
},

syntax_highlight = {
enable = true,
},

-- Dim all cells except the current one
-- Related command :JupyniumShortsightedToggle
shortsighted = false,

-- Configure floating window options
-- Related command :JupyniumKernelHover
kernel_hover = {
floating_win_opts = {
max_width = 84,
border = "none",
},
},
}
10 changes: 10 additions & 0 deletions lua/user/plugins/lang.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,15 @@ lang["dhruvasagar/vim-table-mode"] = {
lazy = true,
ft = "markdown",
}
lang["kiyoon/jupynium.nvim"] = {
lazy = true,
ft = "python",
build = function()
if not vim.fn.filereadable("/etc/NIXOS") then
return "pip install --user ."
end
end,
config = require("user.configs.lang.jupynium"),
}

return lang

0 comments on commit c923501

Please sign in to comment.