aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/sniprun.lua
blob: 2556c24f32712c44333cdb321f350a3786103c51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
local status_ok, sniprun = pcall(require, 'sniprun')
if not status_ok then
  return
end

sniprun.setup({
  -- selected_interpreters = {}, --# use those instead of the default for the current filetype
  -- repl_enable = { "Python3_original" }, --# enable REPL-like behavior for the given interpreters
  -- repl_disable = {}, --# disable REPL-like behavior for the given interpreters

  -- interpreter_options = { --# intepreter-specific options, see docs / :SnipInfo <name>
  --   GFM_original = {
  --     use_on_filetypes = { "markdown.pandoc" }, --# the 'use_on_filetypes' configuration key is
  --     --# available for every interpreter
  --   },
  -- },

  --# you can combo different display modes as desired
  display = {
    -- "Classic", --# display results in the command-line  area
    'VirtualTextOk', --# display ok results as virtual text (multiline is shortened)
    -- "VirtualTextErr", --# display error results as virtual text
    -- "TempFloatingWindow",      --# display results in a floating window
    -- "LongTempFloatingWindow",  --# same as above, but only long results. To use with VirtualText__
    -- "Terminal",                --# display results in a vertical split
    -- "TerminalWithCode",        --# display results and code history in a vertical split
    -- "NvimNotify",              --# display with the nvim-notify plugin
    -- "Api"                      --# return output to a programming interface
  },

  display_options = {
    terminal_width = 45,      --# change the terminal display option width
    notification_timeout = 5, --# timeout for nvim_notify output
  },

  --# You can use the same keys to customize whether a sniprun producing
  --# no output should display nothing or '(no output)'
  show_no_output = {
    'Classic',
    'TempFloatingWindow', --# implies LongTempFloatingWindow, which has no effect on its own
  },

  --# customize highlight groups (setting this overrides colorscheme)
  -- snipruncolors = {
  --   SniprunVirtualTextOk = { bg = "NONE", fg = "#66eeff", ctermbg = "Black", cterfg = "Cyan" },
  --   SniprunFloatingWinOk = { fg = "NONE", ctermfg = "Cyan" },
  --   SniprunVirtualTextErr = { bg = "#881515", fg = "#000000", ctermbg = "DarkRed", cterfg = "Black" },
  --   SniprunFloatingWinErr = { fg = "#881515", ctermfg = "DarkRed" },
  -- },

  --# miscellaneous compatibility/adjustement settings
  inline_messages = 0, --# inline_message (0/1) is a one-line way to display messages
  --# to workaround sniprun not being able to display anything

  borders = 'single', --# display borders around floating windows
  --# possible values are 'none', 'single', 'double', or 'shadow'
})