Create outline config from it's default
This commit is contained in:
parent
8227bf14b0
commit
324505f245
2 changed files with 138 additions and 1 deletions
|
@ -89,6 +89,6 @@ require('plugins.cmp')
|
||||||
require('plugins.gitsigns')
|
require('plugins.gitsigns')
|
||||||
require('plugins.neogit')
|
require('plugins.neogit')
|
||||||
require('plugins.oil')
|
require('plugins.oil')
|
||||||
|
require('plugins.outline')
|
||||||
require('plugins.telescope')
|
require('plugins.telescope')
|
||||||
require('plugins.venn')
|
require('plugins.venn')
|
||||||
require("outline").setup({})
|
|
||||||
|
|
137
lua/plugins/outline.lua
Normal file
137
lua/plugins/outline.lua
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
require("outline").setup({
|
||||||
|
guides = {
|
||||||
|
enabled = true,
|
||||||
|
markers = {
|
||||||
|
bottom = '└',
|
||||||
|
middle = '├',
|
||||||
|
vertical = '│',
|
||||||
|
horizontal = '─',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
outline_items = {
|
||||||
|
show_symbol_details = true,
|
||||||
|
show_symbol_lineno = false,
|
||||||
|
-- The two below are both for auto_update_events.follow
|
||||||
|
highlight_hovered_item = true,
|
||||||
|
-- On open, always followed. This is for auto_update_events.follow, whether
|
||||||
|
-- to auto update cursor position to reflect code location. If false, can
|
||||||
|
-- manually trigger with follow_cursor (API, command, keymap action).
|
||||||
|
auto_set_cursor = true,
|
||||||
|
auto_update_events = {
|
||||||
|
follow = { 'CursorMoved' },
|
||||||
|
items = { 'InsertLeave', 'WinEnter', 'BufEnter', 'BufWinEnter', 'BufWritePost' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
outline_window = {
|
||||||
|
position = 'right',
|
||||||
|
split_command = nil,
|
||||||
|
width = 25,
|
||||||
|
relative_width = true,
|
||||||
|
wrap = false,
|
||||||
|
focus_on_open = true,
|
||||||
|
auto_close = false,
|
||||||
|
auto_jump = false,
|
||||||
|
show_numbers = false,
|
||||||
|
show_relative_numbers = false,
|
||||||
|
---@type boolean|string?
|
||||||
|
show_cursorline = true,
|
||||||
|
hide_cursor = false,
|
||||||
|
winhl = '',
|
||||||
|
jump_highlight_duration = 400,
|
||||||
|
center_on_jump = true,
|
||||||
|
},
|
||||||
|
preview_window = {
|
||||||
|
live = false,
|
||||||
|
auto_preview = false,
|
||||||
|
width = 50,
|
||||||
|
min_width = 50,
|
||||||
|
relative_width = true,
|
||||||
|
height = 50,
|
||||||
|
min_height = 10,
|
||||||
|
relative_height = true,
|
||||||
|
border = 'single',
|
||||||
|
open_hover_on_preview = false,
|
||||||
|
winhl = 'NormalFloat:',
|
||||||
|
winblend = 0,
|
||||||
|
},
|
||||||
|
symbol_folding = {
|
||||||
|
autofold_depth = 1,
|
||||||
|
auto_unfold = {
|
||||||
|
hovered = true,
|
||||||
|
---@type boolean|integer
|
||||||
|
only = true,
|
||||||
|
},
|
||||||
|
markers = { '', '' },
|
||||||
|
},
|
||||||
|
keymaps = {
|
||||||
|
show_help = '?',
|
||||||
|
close = { '<Esc>', 'q' },
|
||||||
|
goto_location = '<Cr>',
|
||||||
|
peek_location = 'o',
|
||||||
|
goto_and_close = '<S-Cr>',
|
||||||
|
restore_location = '<C-g>',
|
||||||
|
hover_symbol = '<C-space>',
|
||||||
|
toggle_preview = 'K',
|
||||||
|
rename_symbol = 'r',
|
||||||
|
code_actions = 'a',
|
||||||
|
fold = 'h',
|
||||||
|
fold_toggle = '<tab>',
|
||||||
|
fold_toggle_all = '<S-tab>',
|
||||||
|
unfold = 'l',
|
||||||
|
fold_all = 'W',
|
||||||
|
unfold_all = 'E',
|
||||||
|
fold_reset = 'R',
|
||||||
|
down_and_jump = '<C-j>',
|
||||||
|
up_and_jump = '<C-k>',
|
||||||
|
},
|
||||||
|
providers = {
|
||||||
|
priority = { 'lsp', 'coc', 'markdown', 'norg' },
|
||||||
|
lsp = {
|
||||||
|
blacklist_clients = {},
|
||||||
|
},
|
||||||
|
markdown = {
|
||||||
|
filetypes = { 'markdown' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
symbols = {
|
||||||
|
---@type outline.FilterConfig?
|
||||||
|
filter = nil,
|
||||||
|
icon_source = nil,
|
||||||
|
icon_fetcher = nil,
|
||||||
|
icons = {
|
||||||
|
File = { icon = '', hl = 'Identifier' },
|
||||||
|
Module = { icon = '', hl = 'Include' },
|
||||||
|
Namespace = { icon = '{}', hl = 'Include' },
|
||||||
|
Package = { icon = '', hl = 'Include' },
|
||||||
|
Class = { icon = '𝓒', hl = 'Type' },
|
||||||
|
Method = { icon = '.ƒ', hl = 'Function' },
|
||||||
|
Property = { icon = '', hl = 'Identifier' },
|
||||||
|
Field = { icon = '-', hl = 'Identifier' },
|
||||||
|
Constructor = { icon = '()', hl = 'Special' },
|
||||||
|
Enum = { icon = 'ℰ', hl = 'Type' },
|
||||||
|
Interface = { icon = 'i', hl = 'Type' },
|
||||||
|
Function = { icon = 'ƒ', hl = 'Function' },
|
||||||
|
Variable = { icon = '(x)', hl = 'Constant' },
|
||||||
|
Constant = { icon = 'c', hl = 'Constant' },
|
||||||
|
String = { icon = '𝓐', hl = 'String' },
|
||||||
|
Number = { icon = '#', hl = 'Number' },
|
||||||
|
Boolean = { icon = '⊨', hl = 'Boolean' },
|
||||||
|
Array = { icon = '[]', hl = 'Constant' },
|
||||||
|
Object = { icon = '⦿', hl = 'Type' },
|
||||||
|
Key = { icon = '🔐', hl = 'Type' },
|
||||||
|
Null = { icon = 'NULL', hl = 'Type' },
|
||||||
|
EnumMember = { icon = '', hl = 'Identifier' },
|
||||||
|
Struct = { icon = '𝓢', hl = 'Structure' },
|
||||||
|
Event = { icon = '🗲', hl = 'Type' },
|
||||||
|
Operator = { icon = '+', hl = 'Identifier' },
|
||||||
|
TypeParameter = { icon = '𝙏', hl = 'Identifier' },
|
||||||
|
Component = { icon = '', hl = 'Function' },
|
||||||
|
Fragment = { icon = '-', hl = 'Constant' },
|
||||||
|
-- ccls
|
||||||
|
TypeAlias = { icon = 't ', hl = 'Type' },
|
||||||
|
Parameter = { icon = 'p ', hl = 'Identifier' },
|
||||||
|
StaticMethod = { icon = '. ', hl = 'Function' },
|
||||||
|
Macro = { icon = ' ', hl = 'Function' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
Reference in a new issue