[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/beardbolt 8dcd74b511 031/323: Clean up rmsbolt.c by mov
From: |
ELPA Syncer |
Subject: |
[elpa] externals/beardbolt 8dcd74b511 031/323: Clean up rmsbolt.c by moving starters into helper files |
Date: |
Thu, 9 Mar 2023 10:57:56 -0500 (EST) |
branch: externals/beardbolt
commit 8dcd74b511098cda52ac5c113e9fd9c92171e3e1
Author: Jay Kamat <jaygkamat@gmail.com>
Commit: Jay Kamat <jaygkamat@gmail.com>
Clean up rmsbolt.c by moving starters into helper files
---
README.org | 5 ++-
rmsbolt.el | 90 ++++++++++++----------------------------------------
starters/rmsbolt.c | 25 +++++++++++++++
starters/rmsbolt.cpp | 25 +++++++++++++++
4 files changed, 74 insertions(+), 71 deletions(-)
diff --git a/README.org b/README.org
index 3148ae0572..2347b7994d 100644
--- a/README.org
+++ b/README.org
@@ -26,5 +26,8 @@ add it..
** Quelpa
#+BEGIN_SRC emacs-lisp
- (quelpa '(rmsbolt :fetcher gitlab :repo "jgkamat/rmsbolt"))
+ (quelpa '(rmsbolt
+ :files (:defaults "starters")
+ :fetcher gitlab
+ :repo "jgkamat/rmsbolt"))
#+END_SRC
diff --git a/rmsbolt.el b/rmsbolt.el
index becc9df5ac..de142cae19 100644
--- a/rmsbolt.el
+++ b/rmsbolt.el
@@ -111,6 +111,10 @@
(defvar rmsbolt--idle-timer nil
"Idle timer for rmsbolt overlays.")
+(defvar rmsbolt-dir (when load-file-name
+ (file-name-directory load-file-name))
+ "The directory which rmsbolt is installed to.")
+
(defvar-local rmsbolt-src-buffer nil)
;;;; Regexes
@@ -187,10 +191,6 @@
'objdump
:type symbol
:documentation "The object dumper to use if dissasembling binary.")
- (starter-file
- nil
- :type 'string
- :documentation "Some starter code to jump off of, if not supplying your
own.")
(starter-file-name
nil
:type 'string
@@ -241,70 +241,14 @@
:supports-asm t
:starter-file-name "rmsbolt.c"
:compile-cmd-function #'rmsbolt--c-compile-cmd
- :dissas-hidden-funcs rmsbolt--hidden-func-c
- :starter-file
- "#include <stdio.h>
-
-// Local Variables:
-// rmsbolt-command: \"gcc -O3\"
-// rmsbolt-dissasemble: nil
-// End:
-
-int isRMS(int a) {
- switch (a) {
- case 'R':
- return 1;
- case 'M':
- return 2;
- case 'S':
- return 3;
- default:
- return 0;
- }
-}
-
-int main() {
- char a = 1 + 1;
- if (isRMS(a))
- printf(\"%c\\n\", a);
-}
-"
- ))
+ :dissas-hidden-funcs rmsbolt--hidden-func-c))
(c++-mode
. ,(make-rmsbolt-lang :mode 'c++-mode
:compile-cmd "g++"
:supports-asm t
:starter-file-name "rmsbolt.cpp"
:compile-cmd-function #'rmsbolt--c-compile-cmd
- :dissas-hidden-funcs rmsbolt--hidden-func-c
- :starter-file
- "#include <iostream>
-
-// Local Variables:
-// rmsbolt-command: \"g++ -O3\"
-// rmsbolt-dissasemble: nil
-// End:
-
-int isRMS(int a) {
- switch (a) {
- case 'R':
- return 1;
- case 'M':
- return 2;
- case 'S':
- return 3;
- default:
- return 0;
- }
-}
-
-int main() {
- char a = 1 + 1;
- if (isRMS(a))
- std::cout << a << std::endl;
-}
-"
- ))))
+ :dissas-hidden-funcs rmsbolt--hidden-func-c))))
;;;; Macros
@@ -624,14 +568,20 @@ int main() {
(let* ((lang-def (rmsbolt--get-lang lang-mode))
(file-name
(expand-file-name (rmsbolt-l-starter-file-name lang-def)
rmsbolt-temp-dir))
- (exists (file-exists-p file-name)))
- (find-file file-name)
- (unless exists
- (insert
- (rmsbolt-l-starter-file lang-def))
- (save-buffer))
- (unless rmsbolt-mode
- (rmsbolt-mode 1))))
+ (exists (file-exists-p file-name))
+ (src-file-name
+ (when rmsbolt-dir
+ (expand-file-name (rmsbolt-l-starter-file-name lang-def) (concat
rmsbolt-dir "starters/"))))
+ (src-file-exists (file-exists-p src-file-name)))
+ (if (not src-file-exists)
+ (error "Could not find starter files! Are you sure the starter/ folder
is available?")
+ (find-file file-name)
+ (unless exists
+ (insert-file-contents
+ src-file-name)
+ (save-buffer))
+ (unless rmsbolt-mode
+ (rmsbolt-mode 1)))))
(defmacro rmsbolt-defstarter (lang mode)
"Defines a starter for LANG and MODE."
`(defun ,(intern (concat "rmsbolt-" lang)) ()
diff --git a/starters/rmsbolt.c b/starters/rmsbolt.c
new file mode 100644
index 0000000000..ea7b750eff
--- /dev/null
+++ b/starters/rmsbolt.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+
+// Local Variables:
+// rmsbolt-command: "gcc -O3"
+// rmsbolt-dissasemble: nil
+// End:
+
+int isRMS(int a) {
+ switch (a) {
+ case 'R':
+ return 1;
+ case 'M':
+ return 2;
+ case 'S':
+ return 3;
+ default:
+ return 0;
+ }
+}
+
+int main() {
+ char a = 1 + 1;
+ if (isRMS(a))
+ printf("%c\n", a);
+}
diff --git a/starters/rmsbolt.cpp b/starters/rmsbolt.cpp
new file mode 100644
index 0000000000..49e401e021
--- /dev/null
+++ b/starters/rmsbolt.cpp
@@ -0,0 +1,25 @@
+#include <iostream>
+
+// Local Variables:
+// rmsbolt-command: "g++ -O3"
+// rmsbolt-dissasemble: nil
+// End:
+
+int isRMS(int a) {
+ switch (a) {
+ case 'R':
+ return 1;
+ case 'M':
+ return 2;
+ case 'S':
+ return 3;
+ default:
+ return 0;
+ }
+}
+
+int main() {
+ char a = 1 + 1;
+ if (isRMS(a))
+ std::cout << a << std::endl;
+}
- [elpa] externals/beardbolt 43f0eac016 004/323: Add support for changing compiler and flags, (continued)
- [elpa] externals/beardbolt 43f0eac016 004/323: Add support for changing compiler and flags, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 61ccd7a73e 001/323: Initial commit, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt b6127c7f67 007/323: Fix error when not filtering for labels, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 38649b53f2 018/323: Relicense to affero GPL, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f04df12d28 011/323: Add config facility for object dumping, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 74b773d370 026/323: Fix crash on quit for real, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt a9e5fbfd7a 028/323: Implement line number parsing for disassembled files, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 3b6bb5bd75 030/323: Add basic overlays to view matched lines, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 5ab75b7f56 014/323: Add stubs for dissasembly, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 0a55783f33 029/323: Add skeleton for font-lock, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8dcd74b511 031/323: Clean up rmsbolt.c by moving starters into helper files,
ELPA Syncer <=
- [elpa] externals/beardbolt aea0966e9d 035/323: Don't add binary asm line data when viewing different files, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt c066da01c4 052/323: Fix ocaml def, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 83e29706f5 005/323: Work on porting used label finder, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 58c77d90c3 008/323: Add outshine comments, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 1545531849 006/323: Add initial implementation of filter, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt d604adae64 015/323: Add initial functions for processing binary asm, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt e0bc9fc409 013/323: Fix starters, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 93f3cad769 017/323: Use local variables instead of custom parsing, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt ce6511f715 024/323: Fix compiler warnings, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 55c26882cd 025/323: Fix crash on quit, ELPA Syncer, 2023/03/09