[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/beardbolt c442960f16 076/323: Add an easy way to turn o
From: |
ELPA Syncer |
Subject: |
[elpa] externals/beardbolt c442960f16 076/323: Add an easy way to turn off automatic recompilation |
Date: |
Thu, 9 Mar 2023 10:58:19 -0500 (EST) |
branch: externals/beardbolt
commit c442960f160f3fab565268950044435cd8fd26e8
Author: Jay Kamat <jaygkamat@gmail.com>
Commit: Jay Kamat <jaygkamat@gmail.com>
Add an easy way to turn off automatic recompilation
---
README.org | 8 ++++++--
rmsbolt.el | 14 +++++++++++---
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/README.org b/README.org
index 154f72255c..23d07c70b9 100644
--- a/README.org
+++ b/README.org
@@ -17,6 +17,7 @@ versa.
- It's easy to add new languages (even those that use unique bytecode
formats)
without touching many files.
- Dosen't eat your ram on the 'server' or the 'client'
+ - No enforced limits on code size, compilation time, or processing time.
- Benefits from living in Emacs
- Full undo tree from Emacs on disassembly/source so you don't loose work.
- Vim bindings through evil/viper.
@@ -53,7 +54,8 @@ add it..
* Running
Once installed, use the ~rmsbolt-lang~ functions to generate starter files, or
enable ~rmsbolt-mode~ in a supported language. Then run ~rmsbolt-compile~ or
- use the default ~C-c C-c~ binding.
+ use the default ~C-c C-c~ binding. After the first run, the buffer should
+ automatically update.
* Demos
** C/C++
@@ -115,12 +117,14 @@ available in the compiled form if they exist.
settings into a valid command which will take in a filename and output
assembly or an executable. See ~rmsbolt--c-compile-cmd~ for an example.
- If the assembly is not in a standard format, you will need to define a
- ~process-asm-custom-fn~ as well.
+ ~process-asm-custom-fn~ as well (see python/java for examples).
2. [[file:rmsbolt.el::;;;;;%20Starter%20Definitions][Add a new entry into the
starter file]]
- For this, you will need to make a starter file. See
[[file:starters/][this folder]] for
existing examples.
You're done!
+
* Alternatives
- [[https://github.com/yawkat/javap][yawkat/javap]]
-
[[https://github.com/mattgodbolt/compiler-explorer][mattgodbolt/compiler-explorer]]
+- [[http://reliant.colab.duke.edu/c2mips/][c2mips]]
diff --git a/rmsbolt.el b/rmsbolt.el
index c9ab587eb0..0ef807fbfe 100644
--- a/rmsbolt.el
+++ b/rmsbolt.el
@@ -21,7 +21,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
-;; TODO create commentary
+;; rmsbolt is a package to provide assembly or bytecode output for a source
code input file.
+;;
+;;
;;; Requires:
@@ -50,6 +52,10 @@
"Lighter displayed in mode line when `rmsbolt-mode' is active."
:type 'string
:group 'rmsbolt)
+(defcustom rmsbolt-automatic-recompile t
+ "Whether to automatically recompile on source buffer changes."
+ :type 'boolean
+ :group 'rmsbolt)
;;;;; Buffer Local Tweakables
(defcustom rmsbolt-disassemble nil
@@ -977,7 +983,7 @@ Outputs assembly file if ASM."
(rmsbolt-defstarter "python" 'python-mode)
(rmsbolt-defstarter "java" 'java-mode)
-;;;; Font lock matcher
+;;;; Overlay Commands
(defun rmsbolt--goto-line (line)
"Goto a certain LINE."
(when line
@@ -1069,6 +1075,7 @@ Outputs assembly file if ASM."
(defun rmsbolt-hot-recompile ()
"Recompile source buffer if we need to."
(when-let ((should-hot-compile rmsbolt-mode)
+ (should-hot-recompile rmsbolt-automatic-recompile)
(output-buffer (get-buffer rmsbolt-output-buffer))
(src-buffer (buffer-local-value 'rmsbolt-src-buffer
output-buffer))
(modified (buffer-modified-p src-buffer)))
@@ -1094,7 +1101,8 @@ This mode is enabled both in modes to be compiled and
output buffers."
(setq rmsbolt--idle-timer (run-with-idle-timer
rmsbolt-overlay-delay t
#'rmsbolt-move-overlays)))
- (unless rmsbolt--compile-idle-timer
+ (unless (or rmsbolt--compile-idle-timer
+ (not rmsbolt-automatic-recompile))
(setq rmsbolt--compile-idle-timer (run-with-idle-timer
rmsbolt-compile-delay t
#'rmsbolt-hot-recompile)))
- [elpa] externals/beardbolt df7451ee35 191/323: Avoid insert on new file creation, (continued)
- [elpa] externals/beardbolt df7451ee35 191/323: Avoid insert on new file creation, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 95130c1421 203/323: Update copyright and headers, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f098a467c5 206/323: Add missing `:keymap' key to `define-minor-mode rmsbolt'., ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt c88196439f 211/323: Support Zig 0.9, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 0f3293c607 224/323: Early-exit `when-let` if output-buffer has no window, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt fffadc0b86 214/323: Allow configuring objdump binary in disassembly mode, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 68af010f02 064/323: Add support for haskell, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f0be36f4b5 063/323: Update link, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8213e24af3 070/323: Update README, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt e71061f509 075/323: Fix readme, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt c442960f16 076/323: Add an easy way to turn off automatic recompilation,
ELPA Syncer <=
- [elpa] externals/beardbolt a191eb9c73 071/323: Add basic Java support, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 77398fec4f 078/323: Clarify starter/ folder message, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8cfb5b1968 086/323: Upgrade information and docs for melpa, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt cfe809f979 095/323: Revert regexp changes, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 644973d865 079/323: Fix improper building of rmsbolt-starter path, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 21b29cdb72 081/323: Satisfy package-lint, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8cf5134dbe 098/323: add pony lang support (WIP), ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 480e0371bf 094/323: Update documentation and add autoload, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt cd424d2556 087/323: Fix broken disassemble spelling, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 971d6cfeae 093/323: Various fixes and cleanups, ELPA Syncer, 2023/03/09