summaryrefslogtreecommitdiff
path: root/fnl/util/cursorline.fnl
blob: e094a4a8e3158cb20a18ca46e062a32f4112f2bb (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
;; Functions for showing and hiding the cursorline.

(local ignore-filetypes [:neo-tree])

(fn filetype []
  vim.bo.filetype)

(fn ignore []
  (vim.tbl_contains ignore-filetypes (filetype)))

(fn show []
  (let [(ok cl) (pcall vim.api.nvim_win_get_var 0 :auto-cursorline)]
    (if (and ok cl)
        (do
          (set vim.wo.cursorline true)
          (vim.api.nvim_win_del_var 0 :auto-cursorline)))))

(fn hide []
  (if (not= (ignore) true)
      (do
        (let [cl vim.wo.cursorline]
          (if cl
              (do
                (vim.api.nvim_win_set_var 0 :auto-cursorline cl)
                (set vim.wo.cursorline false)))))))

{: show : hide}