Some checks failed
		
		
	
	Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
				
			Detach Plugins / check (GitHub.vim) (push) Has been cancelled
				
			Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
				
			Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
				
			Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
				
			Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
				
			Detach Plugins / check (git.vim) (push) Has been cancelled
				
			Detach Plugins / check (iedit.vim) (push) Has been cancelled
				
			Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
				
			Detach Plugins / check (vim-chat) (push) Has been cancelled
				
			Detach Plugins / check (vim-cheat) (push) Has been cancelled
				
			Detach Plugins / check (vim-todo) (push) Has been cancelled
				
			Detach Plugins / check (xmake.vim) (push) Has been cancelled
				
			test / Linux (nvim, nightly) (push) Has been cancelled
				
			test / Linux (nvim, v0.3.8) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.2) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.3) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.4) (push) Has been cancelled
				
			test / Linux (nvim, v0.5.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.5.1) (push) Has been cancelled
				
			test / Linux (nvim, v0.6.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.6.1) (push) Has been cancelled
				
			test / Linux (nvim, v0.7.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.7.2) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.1) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.2) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.3) (push) Has been cancelled
				
			test / Linux (nvim, v0.9.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.9.1) (push) Has been cancelled
				
			test / Linux (true, vim, v7.4.052) (push) Has been cancelled
				
			test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
				
			test / Linux (true, vim, v7.4.629) (push) Has been cancelled
				
			test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
				
			test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
				
			test / Linux (vim, nightly) (push) Has been cancelled
				
			test / Linux (vim, v8.0.0184) (push) Has been cancelled
				
			test / Linux (vim, v8.0.1453) (push) Has been cancelled
				
			test / Linux (vim, v8.1.2269) (push) Has been cancelled
				
			test / Linux (vim, v8.2.2434) (push) Has been cancelled
				
			test / Linux (vim, v8.2.3995) (push) Has been cancelled
				
			test / Windows (nvim, nightly) (push) Has been cancelled
				
			test / Windows (nvim, v0.3.8) (push) Has been cancelled
				
			test / Windows (nvim, v0.4.2) (push) Has been cancelled
				
			test / Windows (nvim, v0.4.3) (push) Has been cancelled
				
			test / Windows (nvim, v0.4.4) (push) Has been cancelled
				
			test / Windows (nvim, v0.5.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.5.1) (push) Has been cancelled
				
			test / Windows (nvim, v0.6.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.6.1) (push) Has been cancelled
				
			test / Windows (nvim, v0.7.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.7.2) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.1) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.2) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.3) (push) Has been cancelled
				
			test / Windows (nvim, v0.9.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.9.1) (push) Has been cancelled
				
			test / Windows (vim, nightly) (push) Has been cancelled
				
			test / Windows (vim, v7.4.1185) (push) Has been cancelled
				
			test / Windows (vim, v7.4.1689) (push) Has been cancelled
				
			test / Windows (vim, v8.0.0027) (push) Has been cancelled
				
			test / Windows (vim, v8.0.1453) (push) Has been cancelled
				
			test / Windows (vim, v8.1.2269) (push) Has been cancelled
				
			test / Windows (vim, v8.2.2434) (push) Has been cancelled
				
			test / Windows (vim, v8.2.3995) (push) Has been cancelled
				
			docker / docker (push) Has been cancelled
				
			mirror / check (coding) (push) Has been cancelled
				
			mirror / check (gitee) (push) Has been cancelled
				
			mirror / check (gitlab) (push) Has been cancelled
				
			
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
--This file should have all functions that are in the public api and either set
 | 
						|
--or read the state of this source.
 | 
						|
 | 
						|
local vim = vim
 | 
						|
local utils = require("neo-tree.utils")
 | 
						|
local renderer = require("neo-tree.ui.renderer")
 | 
						|
local items = require("neo-tree.sources.git_status.lib.items")
 | 
						|
local events = require("neo-tree.events")
 | 
						|
local manager = require("neo-tree.sources.manager")
 | 
						|
 | 
						|
local M = {
 | 
						|
  name = "git_status",
 | 
						|
  display_name = "  Git "
 | 
						|
}
 | 
						|
 | 
						|
local wrap = function(func)
 | 
						|
  return utils.wrap(func, M.name)
 | 
						|
end
 | 
						|
 | 
						|
local get_state = function()
 | 
						|
  return manager.get_state(M.name)
 | 
						|
end
 | 
						|
 | 
						|
---Navigate to the given path.
 | 
						|
---@param path string Path to navigate to. If empty, will navigate to the cwd.
 | 
						|
M.navigate = function(state, path, path_to_reveal)
 | 
						|
  state.dirty = false
 | 
						|
  if path_to_reveal then
 | 
						|
    renderer.position.set(state, path_to_reveal)
 | 
						|
  end
 | 
						|
  items.get_git_status(state)
 | 
						|
end
 | 
						|
 | 
						|
M.refresh = function()
 | 
						|
  manager.refresh(M.name)
 | 
						|
end
 | 
						|
 | 
						|
---Configures the plugin, should be called before the plugin is used.
 | 
						|
---@param config table Configuration table containing any keys that the user
 | 
						|
--wants to change from the defaults. May be empty to accept default values.
 | 
						|
M.setup = function(config, global_config)
 | 
						|
  if config.before_render then
 | 
						|
    --convert to new event system
 | 
						|
    manager.subscribe(M.name, {
 | 
						|
      event = events.BEFORE_RENDER,
 | 
						|
      handler = function(state)
 | 
						|
        local this_state = get_state()
 | 
						|
        if state == this_state then
 | 
						|
          config.before_render(this_state)
 | 
						|
        end
 | 
						|
      end,
 | 
						|
    })
 | 
						|
  end
 | 
						|
 | 
						|
  if global_config.enable_refresh_on_write then
 | 
						|
    manager.subscribe(M.name, {
 | 
						|
      event = events.VIM_BUFFER_CHANGED,
 | 
						|
      handler = function(args)
 | 
						|
        if utils.is_real_file(args.afile) then
 | 
						|
          M.refresh()
 | 
						|
        end
 | 
						|
      end,
 | 
						|
    })
 | 
						|
  end
 | 
						|
 | 
						|
  if config.bind_to_cwd then
 | 
						|
    manager.subscribe(M.name, {
 | 
						|
      event = events.VIM_DIR_CHANGED,
 | 
						|
      handler = M.refresh,
 | 
						|
    })
 | 
						|
  end
 | 
						|
 | 
						|
  if global_config.enable_diagnostics then
 | 
						|
    manager.subscribe(M.name, {
 | 
						|
      event = events.VIM_DIAGNOSTIC_CHANGED,
 | 
						|
      handler = wrap(manager.diagnostics_changed),
 | 
						|
    })
 | 
						|
  end
 | 
						|
 | 
						|
  --Configure event handlers for modified files
 | 
						|
  if global_config.enable_modified_markers then
 | 
						|
    manager.subscribe(M.name, {
 | 
						|
      event = events.VIM_BUFFER_MODIFIED_SET,
 | 
						|
      handler = wrap(manager.opened_buffers_changed),
 | 
						|
    })
 | 
						|
  end
 | 
						|
 | 
						|
  manager.subscribe(M.name, {
 | 
						|
    event = events.GIT_EVENT,
 | 
						|
    handler = M.refresh,
 | 
						|
  })
 | 
						|
end
 | 
						|
 | 
						|
return M
 |