tjdevries / express_line.nvim

WIP: Statusline written in pure lua. Supports co-routines, functions and jobs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

set_statusline_generator arg in README documentation

grantmacken opened this issue · comments

-- And then when you're all done, just call
require('el').set_statusline_generator(el_segments)

At the mo this does not work, as require('el').set_statusline_generator requires a function arg, not a table
I used a 'status_line_setter' function for the set_statusline_generator arg and all good.
I assume WIP, and require('el').set_statusline_generator will accept table el_segments down the line

M = {}
---- Default status line setter.
local status_line_setter = function(win_id)
  local builtin = require('el.builtin')
  local extensions = require('el.extensions')
  local sections = require('el.sections')
  --local meta = require('el.meta')
  --local subscribe = require('el.subscribe')
  return {
    extensions.mode,
    sections.split,
    builtin.file,
    sections.collapse_builtin{
      ' ',
      builtin.modified_flag
    },
    sections.split,
    '[', builtin.line, ' : ',  builtin.column, ']',
    sections.collapse_builtin{
      '[',
      builtin.help_list,
      builtin.readonly_list,
      ']',
    },
    builtin.filetype,
  }
end
local init = function()
  local cmd = vim.api.nvim_command
  cmd [[packadd! plenary.nvim]]
  cmd [[packadd! express_line.nvim]]
  vim._update_package_paths()
  require('el').set_statusline_generator(status_line_setter)
end

M.init = init
return init()

thanks will close issue

A few typos in README e.g. local extensions = require('el.extenions')
and although I initialised table local el_segments = {}
I tried to use table:insert as per README nvim threw an error re. table not indexed
my init now looks like

M = {}
local init = function()
  local cmd = vim.api.nvim_command
  cmd [[packadd! plenary.nvim]]
  cmd [[packadd! express_line.nvim]]
  vim._update_package_paths()
  require('el').setup {
    generator = function(win_id)
      local builtin = require('el.builtin')
      local builtin = require('el.builtin')
      local extensions = require('el.extensions')
      local sections = require('el.sections')
      local helper = require('el.helper')
      local subscribe = require('el.subscribe')
      return {
	extensions.mode,
	sections.split,
	builtin.tail,
	sections.collapse_builtin{' ',builtin.modified_flag},
	--extensions.git_changes,
	subscribe.buf_autocmd(
	"el_git_status",
	"BufWritePost",
	function(window, buffer)
	  return extensions.git_changes(window, buffer)
	end
	),
	sections.split,
	'[', builtin.line, ':',  builtin.column, ']',
	builtin.filetype,
      }  
    end
  }
end
M.init = init
-- return M.init()
return M


Hey @grantmacken Thanks for the issue.

I'm wondering if there are any features you're looking for in express_line right now :) Cool to see someone using it.