|  | @@ -125,6 +125,47 @@ table.insert(gls.left, {
 | 
	
		
			
				|  |  |      highlight = "StatusLineGitDelete",
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  | +-- get output from shell command
 | 
	
		
			
				|  |  | +function os.capture(cmd, raw)
 | 
	
		
			
				|  |  | +  local f = assert(io.popen(cmd, 'r'))
 | 
	
		
			
				|  |  | +  local s = assert(f:read('*a'))
 | 
	
		
			
				|  |  | +  f:close()
 | 
	
		
			
				|  |  | +  if raw then return s end
 | 
	
		
			
				|  |  | +  s = string.gsub(s, '^%s+', '')
 | 
	
		
			
				|  |  | +  s = string.gsub(s, '%s+$', '')
 | 
	
		
			
				|  |  | +  s = string.gsub(s, '[\n\r]+', ' ')
 | 
	
		
			
				|  |  | +  return s
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  | +-- cleanup virtual env
 | 
	
		
			
				|  |  | +function env_cleanup(venv)
 | 
	
		
			
				|  |  | +    if string.find(venv, "/") then
 | 
	
		
			
				|  |  | +      final_venv = venv
 | 
	
		
			
				|  |  | +      for w in venv:gmatch("([^/]+)") do final_venv=w end
 | 
	
		
			
				|  |  | +      venv = final_venv
 | 
	
		
			
				|  |  | +    end
 | 
	
		
			
				|  |  | +    return venv
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  | +local PythonEnv = function ()
 | 
	
		
			
				|  |  | +  if vim.bo.filetype == 'python' then
 | 
	
		
			
				|  |  | +    venv = os.getenv('CONDA_DEFAULT_ENV')
 | 
	
		
			
				|  |  | +    if venv ~= nil then
 | 
	
		
			
				|  |  | +      return "🅒  " .. env_cleanup(venv)
 | 
	
		
			
				|  |  | +    end
 | 
	
		
			
				|  |  | +    venv = os.getenv('VIRTUAL_ENV')
 | 
	
		
			
				|  |  | +    if venv ~= nil then
 | 
	
		
			
				|  |  | +      return "🐍 " .. env_cleanup(venv)
 | 
	
		
			
				|  |  | +    end
 | 
	
		
			
				|  |  | +    return ''
 | 
	
		
			
				|  |  | +  end
 | 
	
		
			
				|  |  | +  return ''
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  VirtualEnv = {
 | 
	
		
			
				|  |  | +    provider = PythonEnv,
 | 
	
		
			
				|  |  | +    highlight = {colors.green, colors.bg},
 | 
	
		
			
				|  |  | +    event = 'BufEnter'
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  table.insert(gls.right, {
 | 
	
		
			
				|  |  |    DiagnosticError = {
 |