summaryrefslogtreecommitdiff
path: root/fnl/config/trouble.fnl
blob: b45fecd3a33fec8e8c6c1b09587ca6050954e9f4 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
;; Pretty diagnostics.
(module config.trouble {autoload {util config.util}})

(def- opts {:position :bottom
            ;; position of the list can be: bottom, top, left, right
            :height 10
            ;; height of the trouble list when position is top or bottom
            :width 50
            ;; width of the list when position is left or right
            :icons true
            ;; use devicons for filenames
            :mode :workspace_diagnostics
            ;; "workspace_diagnostics", "document_diagnostics", "quickfix", "lsp_references", "loclist"
            :fold_open ""
            ;; icon used for open folds
            :fold_closed ""
            ;; icon used for closed folds
            :group true
            ;; group results by file
            :padding true
            ;; add an extra new line on top of the list
            :action_keys {;; key mappings for actions in the trouble list
                          ;; map to {} to remove a mapping for example:
                          ;; close {}
                          :close :q
                          ;; close the list
                          :cancel :<esc>
                          ;; cancel the preview and get back to your last window / buffer / cursor
                          :refresh :r
                          ;; manually refresh
                          :jump [:<cr> :<tab>]
                          ;; jump to the diagnostic or open / close folds
                          :open_split [:<c-x>]
                          ;; open buffer in new split
                          :open_vsplit [:<c-v>]
                          ;; open buffer in new vsplit
                          :open_tab [:<c-t>]
                          ;; open buffer in new tab
                          :jump_close [:o]
                          ;; jump to the diagnostic and close the list
                          :toggle_mode :m
                          ;; toggle between "workspace" and "document" diagnostics mode
                          :toggle_preview :P
                          ;; toggle auto_preview
                          :hover :K
                          ;; opens a small popup with the full multiline message
                          :preview :p
                          ;; preview the diagnostic location
                          :close_folds [:zM :zm]
                          ;; close all folds
                          :open_folds [:zR :zr]
                          ;; open all folds
                          :toggle_fold [:zA :za]
                          ;; toggle fold of current file
                          :previous :k
                          ;; previous item
                          :next :j
                          ;; next item
                          }
            :indent_lines true
            ;; add an indent guide below the fold icons
            :auto_open false
            ;; automatically open the list when you have diagnostics
            :auto_close false
            ;; automatically close the list when you have no diagnostics
            :auto_preview true
            ;; automatically preview the location of the diagnostic. <esc> to close preview and go back to last window
            :auto_fold false
            ;; automatically fold a file trouble list at creation
            :auto_jump [:lsp_definitions]
            ;; for the given modes, automatically jump if there is only a single result
            :signs {;; icons / text used for a diagnostic
                    :error ""
                    :warning ""
                    :hint ""
                    :information ""
                    :other "﫠"}
            :use_diagnostic_signs false
            ;; enabling this will use the signs defined in your lsp client
            })

(util.setup :trouble opts)