summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/config/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/custom-neovim/config/init.lua')
-rw-r--r--pkgs/custom-neovim/config/init.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/pkgs/custom-neovim/config/init.lua b/pkgs/custom-neovim/config/init.lua
index 9d21de2..cd5e09b 100644
--- a/pkgs/custom-neovim/config/init.lua
+++ b/pkgs/custom-neovim/config/init.lua
@@ -1,3 +1,29 @@
+local should_profile = os.getenv("NVIM_PROFILE")
+if should_profile then
+ require("profile").instrument_autocmds()
+ if should_profile:lower():match("^start") then
+ require("profile").start("*")
+ else
+ require("profile").instrument("*")
+ end
+end
+
+local function toggle_profile()
+ local prof = require("profile")
+ if prof.is_recording() then
+ prof.stop()
+ vim.ui.input({ prompt = "Save profile to:", completion = "file", default = "profile.json" }, function(filename)
+ if filename then
+ prof.export(filename)
+ vim.notify(string.format("Wrote %s", filename))
+ end
+ end)
+ else
+ prof.start("*")
+ end
+end
+vim.keymap.set("", "<f1>", toggle_profile)
+
-- Require utilities.
require("utilities")
require("art")