---@type table local opts = { -- whether to show the markdown headers (# Diagnostics and # LSP Info) -- this is also controlled by the command :EagleWinToggleHeaders show_headers = true, -- the order of diagnostics (D) and lsp info (L) -- the order can vary based on if the window is rendered on the -- top half or bottom half of the screen (based on the mouse/cursor position in the view) -- there are 4 options (left of the slash is the top render, right of the slash is the bottom render): -- 1. DL/DL (the default, diagnostics have priority) -- 2. DL/LD (lsp info is always the closest to the mouse/cursor) -- 3. LD/LD (lsp info have priority) -- 4. LD/DL (diagnostics is always the closest to the mouse/cursor) order = 1, --see https://neovim.io/doc/user/options.html for both of these options --redundant when <improved_markdown> is disabled concealcursor = "nc", conceallevel = 3, --added an improved way to stylize markdown that is visually identical to vim.lsp.buf.hover() --disable if you encounter any issues improved_markdown = true, --mouse mode is the default mode for this plugin --disable if you want pure keyboard mode mouse_mode = true, --keyboard mode disables mouse control --set a custom keybind to use the plugin --you can disable vim.o.mousemoveevent if you enable this option --you can have both keyboard_mode and mouse_mode enabled at the same time keyboard_mode = false, --logging, runtime info --enable if the plugin isn't working as expected --and check with ':messages' logging = false, -- close the eagle window when you execute a command (pressing : on normal or visual mode) -- this is to avoid weird things happening when the eagle window is in focus -- set it to false if you want more control over the window close_on_cmd = true, --show lsp info (exact same contents as from vim.lsp.buf.hover()) in the eagle window show_lsp_info = true, --Offset that handles possible scrollbar plugins --by adding an offset column in the right side of the window. --If you don't know what I'm talking about, then --you don't need this option. scrollbar_offset = 0, --limit the width of the eagle window to the floor of vim.o.columns / max_width_factor --it should be any float number in the range [1.1, 5.0] --it falls back to 2.5 if you override outside the valid range max_width_factor = 2, --limit the height of the eagle window to the floor of vim.o.lines / max_height_factor --it should be any float number in the range [2.5, 5.0] --it falls back to 2.5 if you override outside the valid range max_height_factor = 2.5, --the delay between the mouse position arriving at a diagnostic --and the floating window opening (in milliseconds) --falls back to 500 if you override to something below 0 render_delay = 500, --the timer before the mouse is considered idle (in milliseconds) --it falls back to 50 if you override to something below 0 detect_idle_timer = 50, --offsets that can move the window in any direction --you can experiment with values and see what you like window_row = 1, window_col = 5, --window border options, from the api docs --"none": No border (default). --"single": A single line box. --"double": A double line box. --"rounded": Like "single", but with rounded corners ("╭" etc.). --"solid": Adds padding by a single whitespace cell. --"shadow": A drop shadow effect by blending with the background. border = "single", -- the title of the window title = "", --the position of the title --can be "left", "center" or "right" title_pos = "center", -- window title color title_color = "#8AAAE5", -- window border color border_color = "#8AAAE5", } return opts