Hot

🔥 A hot reloader for the Browser.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
sachinsenal0x64
Daily installs
0
Total installs
15
Ratings
0 0 0
Version
1.0
Created
2024-04-25
Updated
2024-04-25
Size
735 Bytes
License
MIT
Applies to

Hot

Hot

🔥 A hot reloader that works with any programming language.


💕 Community

🍻 Join the community: Discord


✨ Features

  • 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


📦 Installation

[!NOTE] Install the plugin with your preferred package manager.

💤 lazy.nvim

hot.nvim ```lua -- 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', 'lua require("thot").check()', { noremap = true, silent = true }) -- Keybinds -- Start vim.api.nvim_set_keymap('n', '', 'lua require("hot").restart()', { noremap = true, silent = true }) -- Silent vim.api.nvim_set_keymap('n', '', 'lua require("hot").silent()', { noremap = true, silent = true }) -- Stop vim.api.nvim_set_keymap('n', '', 'lua require("hot").stop()', { noremap = true, silent = true }) -- Test vim.api.nvim_set_keymap('n', '', 'lua require("hot").test_restart()', { noremap = true, silent = true }) -- Close Buffer vim.api.nvim_set_keymap('n', '', 'lua require("hot").close_output_buffer()', { noremap = true, silent = true }) -- Open Buffer vim.api.nvim_set_keymap('n', '', 'lua require("hot").open_output_buffer()', { 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 ```lua 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/*` ```js // ==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 element and append the meta tag to it var head = document.querySelector('head'); head.appendChild(metaTag); })(); ``` 🏆 Now you're ready to go! Hooray!


🫂 Contributing

  • Feel free to send PR's regarding spelling mistakes, incorrect grammar etc.