Skip to content

Commit

Permalink
docs(README): add lualine example
Browse files Browse the repository at this point in the history
  • Loading branch information
Iron-E committed Feb 17, 2023
1 parent 2eb1808 commit affbd18
Showing 1 changed file with 99 additions and 1 deletion.
100 changes: 99 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,105 @@ See [docs](./doc) for more information.

### Statusline

You can add `libmodal` modes to your status line by using [`feline.nvim`](https://github.com/famiu/feline.nvim) or [`galaxyline.nvim`](https://github.com/glepnir/galaxyline.nvim) or . You can find my configuration for `feline.nvim` [here](https://gitlab.com/Iron_E/dotfiles/-/blob/master/.config/nvim/lua/plugin/feline.lua#L148-L164) and `galaxyline.nvim` [here](https://gitlab.com/Iron_E/dotfiles/-/blob/edf3e1c9779bbc81002832bb03ec875dc86cc16b/.config/nvim/lua/plugin/galaxyline.lua#L140-163)— both of which leverage `nvim-libmodal`'s in the statusbar.
You can add `libmodal` modes to your status line. Here are a few examples of how to integrate with existing plugins.

#### feline.nvim

See my configuration for `feline.nvim` [here](https://gitlab.com/Iron_E/dotfiles/-/blob/master/.config/nvim/lua/plugin/feline.lua#L148-L164)

#### galaxyline.nvim

See my configuration for `galaxyline.nvim` [here](https://gitlab.com/Iron_E/dotfiles/-/blob/edf3e1c9779bbc81002832bb03ec875dc86cc16b/.config/nvim/lua/plugin/galaxyline.lua#L140-163).

#### lualine.nvim

<details>
<summary>An example config</summary>
<pre lang = "lua">
-- Defined in https://github.com/Iron-E/nvim-highlite
local BLUE = '#7766ff'
local CYAN = '#33dbc3'
local GREEN = '#22ff22'
local GREEN_LIGHT = '#99ff99'
local ICE = '#95c5ff'
local ORANGE = '#ff8900'
local ORANGE_LIGHT = '#f0af00'
local PINK = '#ffa6ff'
local PINK_LIGHT = '#ffb7b7'
local PURPLE = '#cf55f0'
local PURPLE_LIGHT = '#af60af'
local RED = '#ee4a59'
local RED_DARK = '#a80000'
local RED_LIGHT = '#ff4090'
local TAN = '#f4c069'
local TEAL = '#60afff'
local TURQOISE = '#2bff99'
local YELLOW = '#f0df33'

local MODES =
{ -- {{{
['c'] = {'COMMAND-LINE', RED},
['ce'] = {'NORMAL EX', RED_DARK},
['cv'] = {'EX', RED_LIGHT},
['i'] = {'INSERT', GREEN},
['ic'] = {'INS-COMPLETE', GREEN_LIGHT},
['n'] = {'NORMAL', PURPLE_LIGHT},
['no'] = {'OPERATOR-PENDING', PURPLE},
['r'] = {'HIT-ENTER', CYAN},
['r?'] = {':CONFIRM', CYAN},
['rm'] = {'--MORE', ICE},
['R'] = {'REPLACE', PINK},
['Rv'] = {'VIRTUAL', PINK_LIGHT},
['s'] = {'SELECT', TURQOISE},
['S'] = {'SELECT', TURQOISE},
['␓'] = {'SELECT', TURQOISE},
['t'] = {'TERMINAL', ORANGE},
['v'] = {'VISUAL', BLUE},
['V'] = {'VISUAL LINE', BLUE},
['␖'] = {'VISUAL BLOCK', BLUE},
['!'] = {'SHELL', YELLOW},

-- libmodal
['BUFFERS'] = TEAL,
['TABLES'] = ORANGE_LIGHT,
['TABS'] = TAN,
} -- }}}

local MODE_HL_GROUP = 'LualineViMode'

--[[/* FELINE CONFIG */]]

vim.api.nvim_create_autocmd('User', {
callback = function()
require('lualine').refresh {scope = 'window', place = {'statusline'}}
end,
pattern = {'LibmodalModeEnterPre', 'LibmodalModeLeavePost'},
})

require('lualine').setup {sections = {lualine_a = {{
function() -- auto change color according the vim mode
local mode_color, mode_name

if vim.g.libmodalActiveModeName then
mode_name = vim.g.libmodalActiveModeName
mode_color = MODES[mode_name]
else
local current_mode = MODES[vim.api.nvim_get_mode().mode]

mode_name = current_mode[1]
mode_color = current_mode[2]
end

vim.api.nvim_set_hl(0, MODE_HL_GROUP, {fg = mode_color, bold = true})

return mode_name..' '
end,
icon = {'▊', align = 'left'},
color = MODE_HL_GROUP,
padding = 0,
}}}}
</pre>
</details>

## FAQ

Expand Down

0 comments on commit affbd18

Please sign in to comment.