[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/beardbolt 1f50b7bb7f 069/323: Add java framework
From: |
ELPA Syncer |
Subject: |
[elpa] externals/beardbolt 1f50b7bb7f 069/323: Add java framework |
Date: |
Thu, 9 Mar 2023 10:58:17 -0500 (EST) |
branch: externals/beardbolt
commit 1f50b7bb7f06e705fa32676b2d5accec9178f209
Author: Jay Kamat <jaygkamat@gmail.com>
Commit: Jay Kamat <jaygkamat@gmail.com>
Add java framework
---
rmsbolt.el | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/rmsbolt.el b/rmsbolt.el
index 8cf4b02276..b6a2910019 100644
--- a/rmsbolt.el
+++ b/rmsbolt.el
@@ -364,6 +364,25 @@ Outputs assembly file if ASM."
"-o" (rmsbolt-output-filename src-buffer))
" ")))
cmd))
+(cl-defun rmsbolt--java-compile-cmd (&key src-buffer)
+ "Process a compile command for ocaml.
+
+ Needed as ocaml cannot output asm to a non-hardcoded file"
+ (let* ((output-filename (rmsbolt-output-filename src-buffer))
+ (class-filename (concat (file-name-sans-extension (buffer-file-name))
".class"))
+ (cmd (buffer-local-value 'rmsbolt-command src-buffer))
+ (cmd (mapconcat 'identity
+ (list cmd
+ "-g"
+ (buffer-file-name)
+ "&&"
+ "javap"
+ "-c" "-l"
+ class-filename
+ ">"
+ output-filename)
+ " ")))
+ cmd))
(defvar rmsbolt--hidden-func-c
(rx bol (or (and "__" (0+ any))
@@ -458,6 +477,15 @@ Outputs assembly file if ASM."
:starter-file-name "rmsbolt.hs"
:compile-cmd-function #'rmsbolt--hs-compile-cmd
:disass-hidden-funcs nil))
+ (java-mode
+ . ,(make-rmsbolt-lang :mode 'java-mode
+ :compile-cmd "javac"
+ :supports-asm t
+ :supports-disass nil
+ :objdumper 'cat
+ :starter-file-name "rmsbolt.java"
+ :compile-cmd-function #'rmsbolt--java-compile-cmd
+ :disass-hidden-funcs nil))
))
;;;; Macros
- [elpa] externals/beardbolt cf7d2787bc 027/323: Implement line number parsing, (continued)
- [elpa] externals/beardbolt cf7d2787bc 027/323: Implement line number parsing, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8fc36eacd8 044/323: Add option to force assembling, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt d37f8a0ebf 042/323: Remove reliance on hl-line-mode, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt a0527f16af 045/323: Add very basic support for common lisp, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt d7acfdd127 041/323: Fix rmsbolt temp directory generation being too late, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f0d13c4ac2 036/323: Add a stronger blacklist for ocaml asm, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 22810d69a7 062/323: Add docs for python, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 503b51ecb8 066/323: Fix typo, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt ca92d533ad 061/323: Add basic support for python, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt fef52d3de3 057/323: Update readme, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 1f50b7bb7f 069/323: Add java framework,
ELPA Syncer <=
- [elpa] externals/beardbolt 0e0d82d774 056/323: Override default directory to prevent rouge executables, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 7e4baa833e 068/323: Fix a few comments, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 234e09b81a 065/323: Fix spelling of OCaml, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 285f9bd9be 074/323: Add missing import, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt d126f452d2 077/323: Update README, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 1001531172 073/323: Add java demo, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt db87a0a6a4 080/323: Refactor rmsbolt-temp-dir to be more clear it's a private variable, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 526ed37d71 088/323: Don't add overlays to non-rmsbolt-mode buffers, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 9967391c74 105/323: Clean up pony support, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 910509ce5d 104/323: Document buffer-local tweakables in readme, ELPA Syncer, 2023/03/09