From e8c6ed2665e6887340e32fb55005ae66c3a53853 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 5 Jun 2024 17:26:59 -0400 Subject: [PATCH] Org Mobile --- main.org | 15 ++++++++-- src/hoc-mode.el | 24 +++++++++++++++ src/nmodl.el | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 src/hoc-mode.el create mode 100644 src/nmodl.el diff --git a/main.org b/main.org index 35a0e7f..dcee585 100644 --- a/main.org +++ b/main.org @@ -529,7 +529,7 @@ etc. (leaf org-agenda :require t :after org :config - (setq org-agenda-files (concat org-directory "/MasterList.org"))) + (setq org-agenda-files `(,(concat org-directory)))) #+end_src *** Capture Things @@ -562,7 +562,18 @@ e.g. meetings, deadlines and whatever else: ("j" "Journal" entry (file+datetree "journal.org") "* %?\nEntered on %U\n %i\n %a") ("m" "Meeting" entry (file+headline "dates.org" "Meetings") - "* %^{prompt}\n:PROPERTIES:\n:CATEGORY: Meeting\n:END:\nWhen: %^t\nAdded: %U\nTags: %^g\n%?")))) + "* %^{prompt} :meeting:%^G\n:PROPERTIES:\n:CATEGORY: Meeting\n:LOCATION: %^{LOCATION}\n:ADDED: %U\n:END:\nMeeting is scheduled for: %^t\n%?\n\n")))) +#+end_src + +** Org Mobile + +#+begin_src elisp :tangle yes :exports code +(leaf org-mobile + :after org + :config + (setq org-mobile-directory "/scpx:webdav@server:/srv/webdav" + org-mobile-inbox-for-pull (concat org-directory "/mobileorg.org") + org-mobile-agendas nil)) #+end_src * Flutter diff --git a/src/hoc-mode.el b/src/hoc-mode.el new file mode 100644 index 0000000..efac775 --- /dev/null +++ b/src/hoc-mode.el @@ -0,0 +1,24 @@ +;;; hoc-mode.el -- mode for editing NEURON hox files + +;; (setq hoc-mode-keywords "proc\\|objref\\|create\\|public\\|begintemplate\\|endtemplate\\|access\\|if\\|for") + +(setq hoc-mode-highlights + '( + ( "proc\\|objref\\|create\\|public\\|begintemplate\\|endtemplate\\|access\\|if\\|for" . font-lock-keyword-face) + ( "[a-z0-9A-Z_]+?[ \n\t]*\\((\\)" . font-lock-function-name-face) + ( "//.+" . font-lock-comment-face) + ( "/\*" . font-lock-comment-start-skip) + ( "\*/" . font-lock-comment-end-skip) + ) + ) + +(define-derived-mode hoc-mode + prog-mode "hoc" + "Major mode for NEURON Hoc." + (setq comment-start "//") + (setq font-lock-defaults '(hoc-mode-highlights)) + ) + +(provide 'hoc-mode) + +;;; hoc-mode.el ends here diff --git a/src/nmodl.el b/src/nmodl.el new file mode 100644 index 0000000..cca140a --- /dev/null +++ b/src/nmodl.el @@ -0,0 +1,79 @@ +(defvar nmodl-mode-hook nil) + +(defvar wpdl-mode-map + (let ((map (make-keymap))) + ; (define-key map "\C-j" 'newline-and-indent) + map) + "Keymap for NMODL major mode") + +;;;###autoload +(add-to-list 'auto-mode-alist '("\\.mod\\'" . nmodl-mode)) + +(setq nmodl-keywords + '( + "NEURON" + "UNITS" + "PARAMETER" + "ASSIGNED" + "STATE" + "INITIAL" + "BREAKPOINT" + "DERIVATIVE" + "PROCEDURE" + )) + +(setq nmodl-neuron-keywords + '( + "TITLE" + "SUFFIX" + "POINT_PROCESS" + "RANGE" + "GLOBAL" + "POINTER" + "BBCOREPOINTER" + "USEION" + "NONSPECIFIC_CURRENT" + "SOLVE" + "METHOD" + )) + +(defvar nmodl-font-lock-keywords + `( + ,(regexp-opt nmodl-keywords t) . 'font-lock-keyword-face + ) + "Minimal highlighting expressions for NMODL mode") + +(setq nmodl-font-lock-keywords + `( + (,(regexp-opt nmodl-keywords t) . 'font-lock-keyword-face) + (,(regexp-opt nmodl-neuron-keywords t) . 'font-lock-constant-face) + ("^[[:space:]]*\\([[:alpha:]][[:alnum:]_]*\\)" . 'font-lock-variable-name-face) + )) + +(setq nmodl-syntax-rules + (syntax-propertize-rules + ("TITLE\\([^\n]\\)[^\n]*\\(\n\\)" (1 "|") (2 "|")) + ("\\<\\(COMMENT\\)\\>" (1 "<")) + ("\\" (1 ">")) + ("^[^:\n]*\\(:\\)[^\n]*\\(\n\\)" (1 "!") (2 "!")) + ("\\({\\)" (1 "(")) + ("\\(}\\)" (1 ")")) + )) + +(defun nmodl-indent () + (indent-relative-first-indent-point) + ) + +(defun nmodl-mode () + "Major mode for editing Workflow Process Description Language files" + (interactive) + (kill-all-local-variables) + (setq-local font-lock-defaults '(nmodl-font-lock-keywords)) + (setq-local syntax-propertize-function nmodl-syntax-rules) + (setq-local c-syntactic-indentation t) + (setq-local indent-line-function 'nmodl-indent) + ;; (use-local-map wpdl-mode-map) + (setq major-mode 'nmodl-mode) + (setq mode-name "NMODL") + (run-hooks 'nmodl-mode-hook)) +