Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ibhagwan committed Dec 12, 2024
1 parent b7e4d47 commit 45a72b1
Show file tree
Hide file tree
Showing 11 changed files with 286 additions and 167 deletions.
20 changes: 16 additions & 4 deletions OPTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -554,25 +554,37 @@ Interactive headers description highlight group, e.g. `<ctrl-g> to Disable .giti

Type: `string`, Default: `FzfLuaPathLineNr`

Highlight group for the line part of paths, e.g. `file:<line>:<col>:`, used in pickers such as `buffers`, `lines`, `quickfix`, `lsp`, `diagnostics`, etc.
Highlight group for the line part of paths, e.g. `file:<line>:<col>:`, used in pickers such as `buffers`, `quickfix`, `lsp`, `diagnostics`, etc.

#### globals.hls.path_colnr

Type: `string`, Default: `FzfLuaPathColNr`

Highlight group for the column part of paths, e.g. `file:<line>:<col>:`, used in pickers such as `buffers`, `lines`, `quickfix`, `lsp`, `diagnostics`, etc.
Highlight group for the column part of paths, e.g. `file:<line>:<col>:`, used in pickers such as `buffers`, `quickfix`, `lsp`, `diagnostics`, etc.

#### globals.hls.buf_name

Type: `string`, Default: `FzfLuaBufName`

Highlight group for buffer name in `lines`.
Highlight group for buffer name (filepath) in `lines`.

#### globals.hls.buf_id

Type: `string`, Default: `FzfLuaBufId`

Highlight group for buffer id (number) in `lines`.

#### globals.hls.buf_nr

Type: `string`, Default: `FzfLuaBufNr`

Highlight group for buffer number in buffer type pickers, i.e. `buffers`, `tabs`, `lines`.
Highlight group for buffer number in `buffers`, `tabs`.

#### globals.hls.buf_linenr

Type: `string`, Default: `FzfLuaBufLineNr`

Highlight group for buffer line number in `lines`, `blines` and `treesitter`.

#### globals.hls.buf_flag_cur

Expand Down
51 changes: 16 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -585,6 +585,14 @@ require'fzf-lua'.setup {
-- title = "Title",
-- title_pos = "center", -- 'left', 'center' or 'right'
fullscreen = false, -- start fullscreen?
-- enable treesitter highlighting for the main fzf window will only have
-- effect when grep like results are present, i.e. "file:line:col:text"
-- due to highlight color collisions will also override `fzf_colors`
-- set `fzf_colors=false` or `fzf_colors.hl=...` to override
treesitter = {
enable = false,
fzf_colors = { ["hl"] = "-1:reverse", ["hl+"] = "-1:reverse" }
},
preview = {
-- default = 'bat', -- override the default previewer?
-- default uses the 'builtin' previewer
Expand Down Expand Up @@ -1106,45 +1114,16 @@ require'fzf-lua'.setup {
["--with-nth"] = '2..',
},
},
-- `blines` has the same defaults as `lines` aside from prompt and `show_bufname`
lines = {
previewer = "builtin", -- set to 'false' to disable
prompt = 'Lines❯ ',
show_bufname = true, -- display buffer name
show_unloaded = true, -- show unloaded buffers
show_unlisted = false, -- exclude 'help' buffers
no_term_buffers = true, -- exclude 'term' buffers
fzf_opts = {
-- do not include bufnr in fuzzy matching
-- tiebreak by line no.
["--delimiter"] = "[\\]:]",
["--nth"] = '2..',
["--tiebreak"] = 'index',
["--tabstop"] = "1",
},
-- actions inherit from 'actions.files' and merge
actions = {
["enter"] = actions.buf_edit_or_qf,
["alt-q"] = actions.buf_sel_to_qf,
["alt-l"] = actions.buf_sel_to_ll
},
},
blines = {
previewer = "builtin", -- set to 'false' to disable
prompt = 'BLines❯ ',
show_unlisted = true, -- include 'help' buffers
no_term_buffers = false, -- include 'term' buffers
-- start = "cursor" -- start display from cursor?
fzf_opts = {
-- hide filename, tiebreak by line no.
["--delimiter"] = "[:]",
["--with-nth"] = '2..',
["--tiebreak"] = 'index',
["--tabstop"] = "1",
},
-- actions inherit from 'actions.files' and merge
actions = {
["enter"] = actions.buf_edit_or_qf,
["alt-q"] = actions.buf_sel_to_qf,
["alt-l"] = actions.buf_sel_to_ll
},
},
tags = {
Expand Down Expand Up @@ -1418,10 +1397,12 @@ temporarily overridden by its corresponding `winopts` option:
|FzfLuaHelpBorder |FzfLuaBorder |`hls.help_border` |Help win border|
|FzfLuaHeaderBind |*BlanchedAlmond |`hls.header_bind` |Header keybind|
|FzfLuaHeaderText |*Brown1 |`hls.header_text` |Header text|
|FzfLuaPathColNr |*CadetBlue1 |`hls.path_colnr` |Path col nr (`lines,qf,lsp,diag`)|
|FzfLuaPathLineNr |*LightGreen |`hls.path_linenr` |Path line nr (`lines,qf,lsp,diag`)|
|FzfLuaBufName |*LightMagenta |`hls.buf_name` |Buffer name (`lines`)|
|FzfLuaBufNr |*BlanchedAlmond |`hls.buf_nr` |Buffer number (all buffers)|
|FzfLuaPathColNr |*CadetBlue1 |`hls.path_colnr` |Path col nr (`qf,lsp,diag`)|
|FzfLuaPathLineNr |*LightGreen |`hls.path_linenr` |Path line nr (`qf,lsp,diag`)|
|FzfLuaBufName |Directory |`hls.buf_name` |Buffer name (`lines`)|
|FzfLuaBufId |TabLine |`hls.buf_id` |Buffer ID (`lines`)|
|FzfLuaBufNr |*BlanchedAlmond |`hls.buf_nr` |Buffer number (`buffers,tabs`)|
|FzfLuaBufLineNr |LineNr |`hls.buf_linenr` |Buffer line nr (`lines,blines`)|
|FzfLuaBufFlagCur |*Brown1 |`hls.buf_flag_cur` |Buffer line (`buffers`)|
|FzfLuaBufFlagAlt |*CadetBlue1 |`hls.buf_flag_alt` |Buffer line (`buffers`)|
|FzfLuaTabTitle |*LightSkyBlue1 |`hls.tab_title` |Tab title (`tabs`)|
Expand Down
27 changes: 21 additions & 6 deletions doc/fzf-lua-opts.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*fzf-lua-opts.txt* For Neovim >= 0.8.0 Last change: 2024 November 18
*fzf-lua-opts.txt* For Neovim >= 0.8.0 Last change: 2024 December 10

==============================================================================
Table of Contents *fzf-lua-opts-table-of-contents*
Expand Down Expand Up @@ -736,7 +736,7 @@ globals.hls.path_linenr *fzf-lua-opts-globals.hls.path_linenr*
Type: `string`, Default: `FzfLuaPathLineNr`

Highlight group for the line part of paths, e.g. `file:<line>:<col>:`, used in
pickers such as `buffers`, `lines`, `quickfix`, `lsp`, `diagnostics`, etc.
pickers such as `buffers`, `quickfix`, `lsp`, `diagnostics`, etc.



Expand All @@ -745,24 +745,39 @@ globals.hls.path_colnr *fzf-lua-opts-globals.hls.path_colnr*
Type: `string`, Default: `FzfLuaPathColNr`

Highlight group for the column part of paths, e.g. `file:<line>:<col>:`, used
in pickers such as `buffers`, `lines`, `quickfix`, `lsp`, `diagnostics`, etc.
in pickers such as `buffers`, `quickfix`, `lsp`, `diagnostics`, etc.



globals.hls.buf_name *fzf-lua-opts-globals.hls.buf_name*

Type: `string`, Default: `FzfLuaBufName`

Highlight group for buffer name in `lines`.
Highlight group for buffer name (filepath) in `lines`.



globals.hls.buf_id *fzf-lua-opts-globals.hls.buf_id*

Type: `string`, Default: `FzfLuaBufId`

Highlight group for buffer id (number) in `lines`.



globals.hls.buf_nr *fzf-lua-opts-globals.hls.buf_nr*

Type: `string`, Default: `FzfLuaBufNr`

Highlight group for buffer number in buffer type pickers, i.e. `buffers`,
`tabs`, `lines`.
Highlight group for buffer number in `buffers`, `tabs`.



globals.hls.buf_linenr *fzf-lua-opts-globals.hls.buf_linenr*

Type: `string`, Default: `FzfLuaBufLineNr`

Highlight group for buffer line number in `lines`, `blines` and `treesitter`.



Expand Down
20 changes: 20 additions & 0 deletions lua/fzf-lua/config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,26 @@ function M.normalize_opts(opts, globals, __resume_key)
type(M.globals[k]) == "table" and utils.tbl_deep_clone(M.globals[k]) or {})
end

-- Adjust main fzf window treesitter settings
-- Disable unless the picker is ts enabled with `_treesitter`
-- Set to `true`, will copy the defaults and add `enable=true`
-- Set to a table `enable=true` is assumed (i.e. `nil` equals `true`)
if not opts._treesitter then opts.winopts.treesitter = nil end
if opts.winopts.treesitter == true then
opts.winopts.treesitter = vim.tbl_deep_extend("force",
M.defaults.winopts.treesitter, { enable = true })
end
-- Unless the caller specifically disables fuzzy matching colors will be
-- set to `reverse` which sets the background color for matches instead
-- NOTE: default `fzf_colors` are set in `defaults.winopts.treesitter`
if type(opts.winopts.treesitter) == "table"
and opts.winopts.treesitter.enable ~= false
and type(opts.winopts.treesitter.fzf_colors) == "table" then
opts.fzf_colors = vim.tbl_deep_extend("force",
opts.fzf_colors or {}, opts.winopts.treesitter.fzf_colors)
end
-- _G.dump(opts.winopts.treesitter, opts.fzf_colors)

-- backward compat: no-value flags should be set to `true`, in the past these
-- would be set to an empty string which would now translate into a shell escaped
-- string as we automatically shell escape all fzf_opts
Expand Down
Loading

0 comments on commit 45a72b1

Please sign in to comment.