π» Join the community: Discord
-
Zero Dependencies
-
Highly Customizable
-
Multiple Languages & Unittest Reloader on the fly
-
Start | Stop | Silent | Real Time Debug | Buffer Open / Close Reload on Save
-
Userscript for the Browser.
-
Custom Healthchecker
-
Lualine (Status Bar) Plugin
Note
Install the plugin with your preferred package manager.
π€ lazy.nvim
hot.nvim
-- Enable Current directory
vim.opt.autochdir == true,
{
'sachinsenal0x64/hot.nvim',
config = function()
local opts = require('hot.params').opts
-- Update the Lualine Status
Reloader = opts.tweaks.default
Reloader = 'π€'
Pattern = opts.tweaks.patterns
Pattern = { 'main.py', 'main.go' }
opts.tweaks.start = 'π'
opts.tweaks.stop = 'π€'
opts.tweaks.test = 'π§ͺ'
opts.tweaks.test_done = 'π§ͺ.β
'
opts.tweaks.test_fail = 'π§ͺ.β'
-- If the 'main.*' file doesn't exist, it will fall back to 'index.*'
opts.tweaks.custom_file = 'index'
-- Add Languages
opts.set.languages.python = {
cmd = 'python3',
desc = 'Run Python file asynchronously',
kill_desc = 'Kill the running Python file',
emoji = 'π',
test = 'python -m unittest -v',
ext = { '.py' },
}
opts.set.languages.go = {
cmd = 'go run',
desc = 'Run Go file asynchronously',
kill_desc = 'Kill the running Go file',
emoji = 'πΉ',
test = 'go test',
ext = { '.go' },
}
-- Thot Health Check
vim.api.nvim_set_keymap('n', 'ho', '<Cmd>lua require("thot").check()<CR>', { noremap = true, silent = true })
-- Keybinds
-- Start
vim.api.nvim_set_keymap('n', '<F3>', '<Cmd>lua require("hot").restart()<CR>', { noremap = true, silent = true })
-- Silent
vim.api.nvim_set_keymap('n', '<F4>', '<Cmd>lua require("hot").silent()<CR>', { noremap = true, silent = true })
-- Stop
vim.api.nvim_set_keymap('n', '<F5>', '<Cmd>lua require("hot").stop()<CR>', { noremap = true, silent = true })
-- Test
vim.api.nvim_set_keymap('n', '<F6>', '<Cmd>lua require("hot").test_restart()<CR>', { noremap = true, silent = true })
-- Close Buffer
vim.api.nvim_set_keymap('n', '<F8>', '<Cmd>lua require("hot").close_output_buffer()<CR>', { noremap = true, silent = true })
-- Open Buffer
vim.api.nvim_set_keymap('n', '<F7>', '<Cmd>lua require("hot").open_output_buffer()<CR>', { noremap = true, silent = true })
-- Auto Reload on Save
local save_group = vim.api.nvim_create_augroup('save_mapping', { clear = true })
vim.api.nvim_create_autocmd('BufWritePost', {
desc = 'Reloader',
group = save_group,
pattern = Pattern,
callback = function()
require('hot').silent()
end,
})
end,
},
β‘ lualine.nvim
status bar
local hot = {
'Reloader',
},
sections = {
lualine_b = {
hot,
}
},
π΅ violentmonkey
userscript for browser live reloading
-
Get The Script : https://greasyfork.org/en/scripts/493413-hot
-
You can add as many URLs as you want. For example:
// @match *://*.localhost:8080/*
// ==UserScript==
// @name Hot
// @namespace https://github.com/sachinsenal0x64/hot.nvim
// @version 1.0
// @description π₯ A hot reloader for the Browser.
// @author sachinsenal0x64
// @match *://*.localhost:8086/*
// @match *://*.atom.com/*
// @license MIT
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Create a meta tag for auto-refresh
var metaTag = document.createElement('meta');
metaTag.setAttribute('http-equiv', 'refresh');
metaTag.setAttribute('content', '5'); // Refresh every 5 seconds
// Find the <head> element and append the meta tag to it
var head = document.querySelector('head');
head.appendChild(metaTag);
})();
π Now you're ready to go! Hooray!
- Feel free to send PR's regarding spelling mistakes, incorrect grammar etc.