From 4262383ef4e4221545cafc81c59c7f71c79c12f1 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Wed, 19 Jun 2019 11:45:52 +0200 Subject: Port some itches to Org files Also add examples and roadmap for some of them. --- README.md | 2 +- personal/itches/emacs/bulk.md | 20 ------------------- personal/itches/emacs/language-support.org | 32 ++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 21 deletions(-) create mode 100644 personal/itches/emacs/language-support.org diff --git a/README.md b/README.md index 0a57650..309abcb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Peniblec's Memory Leaks -## still reachable: 8439 words in 19 pages +## still reachable: 8515 words in 20 pages Hi! I am a software engineer interested in [a bunch of things]. diff --git a/personal/itches/emacs/bulk.md b/personal/itches/emacs/bulk.md index d56fb66..31554da 100644 --- a/personal/itches/emacs/bulk.md +++ b/personal/itches/emacs/bulk.md @@ -142,26 +142,6 @@ - new command `org-clock-in-late` to clock out x minutes ago from previous task, and clock in x ago on task at point -## Language support - -- fix builtin/keyword distinction for Bash & Python3 - -- highlight variables inside strings, eg - - `"a ${variable} inside a double-quoted string"` (Bash) - - `'a format string's {variable}` (Python; maybe limit that to - f-strings?) - -- do not highlight a single-quoted command substitution - -- recognize [POSIX "immediate-expansion"][austin#330] operator `::=` - -- in asm-mode, `C-o` inserts a tab despite `indent-tabs-mode` being - set to nil, maybe because the mode sets `fill-prefix`; the mode also - does not adhere to the "`RET` = smart newline, `C-j` = dumb - linefeed" convention for no good reason AFAICT - -[austin#330]: http://austingroupbugs.net/view.php?id=330 - ## read-passwd - prevent kills from ending up in the clipboard diff --git a/personal/itches/emacs/language-support.org b/personal/itches/emacs/language-support.org new file mode 100644 index 0000000..fb847cb --- /dev/null +++ b/personal/itches/emacs/language-support.org @@ -0,0 +1,32 @@ +* Python +** Fix builtin/keyword fontification for Python 3 +E.g. =print= became a builtin. +*** TODO add fontification tests +*** TODO have dedicated font-lock styles for Python 2, 3 and "mixed" +Default to "mixed" (rely on tests to ensure user-visible change). +**** TODO create font-lock styles +**** TODO create variable to choose style +Users could customize it or set it wiht directory-local variables. +*** TODO add heuristic to pick the "right" style +** Fontify f-strings +E.g. =f'an {expression} that should be highlighted'=. + + +* Shell scripts +** Fix builtin/keyword fontification +- =continue= and =break= are /builtins/. +** Fontify variables within strings +E.g. ="an ${expression} that should be highlighted"=. +** Do not highlight single-quoted command substitutions +E.g. ='this $(call) should not be highlighted'=. + + +* Makefile +** Recognize [[http://austingroupbugs.net/view.php?id=330][POSIX "immediate-expansion"]] operator ~::=~ + + +* Assembly +** =C-o= inserts a tab despite =indent-tabs-mode= being nil +This seems to come from the mode setting =fill-prefix=. The mode also +does not adhere to the "~RET~ = smart newline, ~C-j~ = dumb linefeed" +convention for no good reason AFAICT. -- cgit v1.2.3