blob: d5e205140af8f9831939cd1ad94b7719054edd9c (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
local Path = require"plenary.path"
function FormatFile()
local filename = vim.api.nvim_buf_get_name(0)
vim.cmd(":silent !autopep8 -i " .. filename)
vim.cmd(":silent !isort " .. filename)
end
function CreateDailyNote()
local file_path = vim.api.nvim_buf_get_name(0)
local dir_path = file_path
local path_obj = Path:new(file_path)
if path_obj:is_file() == true then
path_obj = path_obj:parent() -- get the parent directory
dir_path = path_obj:_fs_filename()
end
local today_date_fmt = os.date('%Y-%m-%d')
local daily_note_file_name = today_date_fmt .. '.md'
local daily_note_file_obj = path_obj:joinpath(daily_note_file_name)
local template_file_name = '.daily-notes-template.md'
local template_file_obj = path_obj:joinpath(template_file_name)
local status = template_file_obj:copy({destination=daily_note_file_obj})
-- check if operation was a success
if status[daily_note_file_obj] == false then
print('Error! failed to create daily note')
print([[Possible Causes:
1. No `.daily-notes-template.md` found
2. Something went wrong with copy, in which case check nvim config]])
return
end
vim.cmd('e ' .. daily_note_file_obj:_fs_filename())
end
local function _ReloadConfigsInPath(path_selector)
local config_paths = vim.fn.glob(path_selector, true, true)
for _, filepath in ipairs(config_paths) do
dofile(filepath)
end
end
function ReloadLuaConfig()
for name,_ in pairs(package.loaded) do
if name:match('^linux') then
package.loaded[name] = nil
end
end
-- Reload init/ directory
local lua_path_selector = vim.fn.stdpath('config') .. '/lua/**/*.lua'
_ReloadConfigsInPath(lua_path_selector)
-- local after_path_selector = vim.fn.stdpath('config') .. '/after/**/*.lua'
_ReloadConfigsInPath(after_path_selector)
print('Nvim configurations reloaded')
end
function ToggleSpellCheck()
vim.opt.spell = not(vim.opt.spell:get())
vim.opt.spelllang = 'en_us'
end
function SetFocusColors(mode)
vim.o.background = "light"
vim.opt.cursorline = false
vim.cmd("colorscheme vscode")
end
function GetHomeDir()
-- for linux/mac
local home = os.getenv("HOME")
-- for windows
local user_profile = os.getenv("UserProfile")
if home ~= nil then
return home
elseif user_profile ~= nil then
return user_profile
end
return nil
end
function GetCacheDir()
os_name = vim.loop.os_uname().sysname
if os_name == 'Linux' then
return vim.fn.stdpath("data")
else
-- os is windows
return "w:\\tools\\.cache"
end
end
|