branch: elpa/casual
commit 38c3cf06f34a7e996dc40b3331906cdb71198bb9
Author: Charles Choi <[email protected]>
Commit: Charles Choi <[email protected]>
Miscellaneous tuning for Casual Org
* docs/org.org: Update for Casual Org
Improved indexing
Added package names
* lisp/casual-org.el:
(casual-org-table-fedit-tmenu): Added more commands for Info
lookups of Org Table formula documentation.
(casual-org-table-fedit-tmenu): Added Vector section.
* lisp/casual-org-utils.el:
(casual-org-unicode-db): Added support for row and column.
(casual-org-table-info-references): Added/moved Info commands.
(casual-org-table--insert-calc-formula): Added Calc insertion commands.
(casual-org-body-group): Added support for casual-org-insert-keyword.
(casual-org-table-structure-tmenu): Added Align section.
* tests/test-casual-org-utils.el: Updated tests.
* tests/test-casual-org.el: Updated tests.
* lisp/casual-org-utils.el:
(casual-org-insert-checkbox): Add function
(casual-org-item-group): Tune UI
---
docs/agenda.org | 15 +-
docs/bibtex.org | 13 +-
docs/bookmarks.org | 9 +-
docs/calc.org | 8 +-
docs/calendar.org | 4 +-
docs/casual.info | Bin 172951 -> 179988 bytes
docs/casual.org | 18 +-
docs/compile.org | 9 +-
docs/css.org | 9 +-
docs/csv.org | 16 +-
docs/dired.org | 9 +-
docs/ediff.org | 5 +-
docs/editkit.org | 29 ++--
docs/elisp.org | 14 +-
docs/eshell.org | 11 +-
docs/eww.org | 13 +-
docs/help.org | 9 +-
docs/html.org | 17 +-
docs/ibuffer.org | 6 +-
docs/image.org | 7 +-
docs/images/casual-org-block-src-screenshot.png | Bin 97916 -> 93640 bytes
docs/images/casual-org-body-screenshot.png | Bin 162419 -> 143670 bytes
docs/images/casual-org-checkbox-screenshot.png | Bin 117084 -> 107212 bytes
docs/images/casual-org-clock-log-screenshot.png | Bin 0 -> 93265 bytes
docs/images/casual-org-drawer-screenshot.png | Bin 0 -> 102291 bytes
docs/images/casual-org-headline-screenshot.png | Bin 185739 -> 176126 bytes
docs/images/casual-org-in-block-src-screenshot.png | Bin 0 -> 95012 bytes
docs/images/casual-org-item-screenshot.png | Bin 113578 -> 95138 bytes
docs/images/casual-org-keyword-affiliate.png | Bin 0 -> 97390 bytes
docs/images/casual-org-keyword-screenshot.png | Bin 106788 -> 99147 bytes
.../casual-org-property-drawer-screenshot.png | Bin 0 -> 102693 bytes
docs/images/casual-org-property-screenshot.png | Bin 0 -> 104578 bytes
docs/images/casual-org-table-fedit-screenshot.png | Bin 116320 -> 116264 bytes
docs/images/casual-org-table-layout-screenshot.png | Bin 60143 -> 111855 bytes
docs/images/casual-org-table-screenshot.png | Bin 132595 -> 121734 bytes
docs/images/casual-org-tblfm-screenshot.png | Bin 103599 -> 92691 bytes
docs/info.org | 7 +-
docs/isearch.org | 9 +-
docs/make-mode.org | 8 +-
docs/man.org | 11 +-
docs/org.org | 158 +++++++++++++----
docs/re-builder.org | 15 +-
docs/timezone.org | 2 +-
lisp/casual-org-utils.el | 191 ++++++++++++++++++---
lisp/casual-org.el | 31 ++--
tests/test-casual-org-utils.el | 59 ++++++-
tests/test-casual-org.el | 57 ++++--
tests/test-casual-org.org | 2 +-
48 files changed, 560 insertions(+), 211 deletions(-)
diff --git a/docs/agenda.org b/docs/agenda.org
index 00b7715094..976e222f0f 100644
--- a/docs/agenda.org
+++ b/docs/agenda.org
@@ -1,8 +1,8 @@
* Agenda
#+CINDEX: Agenda
#+CINDEX: Org Agenda
-#+VINDEX: casual-agenda-tmenu
-Casual Agenda is a user interface for Org Agenda ([[info:org#Agenda Views]]),
a feature of Emacs Org Mode ([[info:org#Top]]) to help plan your day. Its
top-level library is ~casual-agenda~.
+#+VINDEX: casual-agenda
+Casual Agenda (library: ~casual-agenda~) is a user interface for Org Agenda
([[info:org#Agenda Views]]), a feature of Emacs Org Mode ([[info:org#Top]]) to
help plan your day. Its top-level library is ~casual-agenda~.
[[file:images/casual-agenda-screenshot.png]]
@@ -27,6 +27,7 @@ Use these bindings to configure Org Agenda to be consistent
with bindings used b
** Agenda Usage
#+CINDEX: Agenda Usage
+#+VINDEX: casual-agenda-tmenu
[[file:images/casual-agenda-screenshot.png]]
@@ -40,33 +41,33 @@ The main menu for Casual Agenda is ~casual-agenda-tmenu~.
It is divided into fiv
- Utils :: Set a timer, get almanac info.
-#+TEXINFO: @subheading Operating on Headlines (casual-agenda-operations-tmenu)
+#+TEXINFO: @subsubheading Operating on Headlines
(casual-agenda-operations-tmenu)
#+VINDEX: casual-agenda-operations-tmenu
Use “{{{kbd(o)}}} Operations›” from ~casual-agenda-tmenu~ to change a
headline's attributes such as TODO state, scheduling, tags, and priority. The
following menu will be displayed.
[[file:images/casual-agenda-operations-screenshot.png]]
-#+TEXINFO: @subheading Marking Headlines (casual-agenda-mark-tmenu)
+#+TEXINFO: @subsubheading Marking Headlines (casual-agenda-mark-tmenu)
#+VINDEX: casual-agenda-mark-tmenu
Use “{{{kbd(M)}}} Mark›” menu from ~casual-agenda-tmenu~ to mark different
headlines and perform a bulk action on them.
[[file:images/casual-agenda-mark-screenshot.png]]
-#+TEXINFO: @subheading Almanac (casual-agenda-almanac-tmenu)
+#+TEXINFO: @subsubheading Almanac (casual-agenda-almanac-tmenu)
#+VINDEX: casual-agenda-almanac-tmenu
Get sunrise/sunset times, lunar cycle dates, and holidays with respect to a
date via the “{{{kbd(l)}}} Almanac›” menu from ~casual-agenda-tmenu~.
[[file:images/casual-agenda-almanac-screenshot.png]]
-#+TEXINFO: @subheading Changing Modes and Settings
+#+TEXINFO: @subsubheading Changing Modes and Settings
#+VINDEX: casual-agenda-settings-tmenu
Agenda views have different display modes and behavior that can be modified
from the “{{{kbd(\,)}}} Settings›” menu from ~casual-agenda-tmenu~.
[[file:images/casual-agenda-settings-screenshot.png]]
-#+TEXINFO: @subheading Agenda Unicode Symbol Support
+#+TEXINFO: @subsubheading Agenda Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Settings” from the Settings menu, Casual
Agenda will use Unicode symbols as appropriate in its menus.
[[file:images/casual-agenda-unicode-screenshot.png]]
diff --git a/docs/bibtex.org b/docs/bibtex.org
index 61bcaa8223..15917a5b39 100644
--- a/docs/bibtex.org
+++ b/docs/bibtex.org
@@ -1,9 +1,9 @@
* BibTeX
#+CINDEX: BibTeX
#+CINDEX: bibtex
-#+VINDEX: casual-bibtex-tmenu
+#+VINDEX: casual-bibtex
-Casual BibTeX is an opinionated user interface for BibTeX mode
([[info:emacs#TeX Mode][info "(emacs) TeX Mode"]]), a major mode for working
with BibTeX files ([[https://bibtex.eu][BibTeX Guide]]).
+Casual BibTeX (library: ~casual-bibtex~) is an opinionated user interface for
BibTeX mode ([[info:emacs#TeX Mode][info "(emacs) TeX Mode"]]), a major mode
for working with BibTeX files ([[https://bibtex.eu][BibTeX Guide]]).
A BibTeX file is typically named using the suffix ~.bib~ to identify its file
type.
@@ -62,6 +62,7 @@ In your initialization file, bind the Transient
~casual-bibtex-tmenu~ to your ke
** BibTeX Usage
#+CINDEX: BibTeX Usage
+#+VINDEX: casual-bibtex-tmenu
[[file:images/casual-bibtex-screenshot.png]]
@@ -98,7 +99,7 @@ The following table shows the bindings for BibTeX navigation.
In Casual BibTeX, CRUD (CReate, Update, Delete) operations for entry and field
structures are intended to be achieved through their respective commands. This
contrasts with manual editing of a buffer to achieve the same end, which is
prone to errors.
-#+TEXINFO: @subheading Creating an Entry
+#+TEXINFO: @subsubheading Creating an Entry
To create a new entry, use the “{{{kbd(A)}}} Add…” command. You will be
prompted in the mini-buffer with completion support for the entry type. This
new entry will be inserted relative to existing entry where the point is with
all fields supported by the entry type enumerated. Fields with the temporary
prefix of "ALT" or "OPT" denote a field that is alternate or optional. Use the
command “{{{kbd(o)}}} Remove OPT/ALT” to remove this prefix.
@@ -109,7 +110,7 @@ When all desired information for a BibTeX entry has been
entered, it can be "cle
By default, cleaning an entry will not format (or "fill") the entry. This can
be changed by setting the customizable variable ~bibtex-clean-entry-hook~ to
include the command ~bibtex-fill-entry~. This can be done from "Hooks" section
in the Settings menu ([[#bibtex-settings][Settings)]].
-#+TEXINFO: @subheading Creating a Field
+#+TEXINFO: @subsubheading Creating a Field
To create a new field, use the “{{{kbd(a)}}} Add…” command. You will be
prompted in the mini-buffer with completion support for the field type. This
new field will be inserted relative to existing field where the point is.
@@ -120,7 +121,7 @@ There are two components to a field:
A "brute-force" command to enumerate all fields for an entry is provided by
the “{{{kbd(u)}}} Update…” command. Clean the entry to remove all unpopulated
fields after using it.
-#+TEXINFO: @subheading BibTeX mode has its own kill-ring
+#+TEXINFO: @subsubheading BibTeX mode has its own kill-ring
BibTeX has its own kill-ring variable ~bibtex-entry-kill-ring~ which the
following menu commands use:
@@ -132,7 +133,7 @@ BibTeX has its own kill-ring variable
~bibtex-entry-kill-ring~ which the followi
The "∙" annotation in a menu label denotes commands that do /not/ use the
~kill-ring~, but ~bibtex-entry-kill-ring~ instead.
-#+TEXINFO: @subheading Search and Jump
+#+TEXINFO: @subsubheading Search and Jump
The ability to search and jump to a position in a BibTeX database are offered
by the following menu commands:
diff --git a/docs/bookmarks.org b/docs/bookmarks.org
index 0444c8ef04..e6d814407c 100644
--- a/docs/bookmarks.org
+++ b/docs/bookmarks.org
@@ -1,8 +1,8 @@
* Bookmarks
#+CINDEX: Bookmarks
-#+VINDEX: casual-bookmarks-tmenu
+#+VINDEX: casual-bookmarks
-Casual Bookmarks is a user interface for the Emacs Bookmarks list
([[info:emacs#Bookmarks]]). Its top-level library is ~casual-bookmarks~.
+Casual Bookmarks (library: ~casual-bookmarks~) is a user interface for the
Emacs Bookmarks list ([[info:emacs#Bookmarks]]). Its top-level library is
~casual-bookmarks~.
[[file:images/casual-bookmarks-screenshot.png]]
@@ -51,6 +51,7 @@ The above guidance largely extends the work done in the blog
post [[http://yummy
** Bookmarks Usage
#+CINDEX: Bookmarks Usage
+#+VINDEX: casual-bookmarks-tmenu
[[file:images/casual-bookmarks-screenshot.png]]
@@ -70,12 +71,12 @@ Casual Bookmarks organizes its main menu into the following
sections:
- Column :: Commands to navigate and control the display of the table layout
for bookmarks.
-#+TEXINFO: @subheading Sorting
+#+TEXINFO: @subsubheading Sorting
#+VINDEX: casual-bookmarks-sortby-tmenu
Support for sorting the bookmarks list is provided by the menu
~casual-bookmarks-sortby-tmenu~.
-#+TEXINFO: @subheading Unicode Symbol Support
+#+TEXINFO: @subsubheading Unicode Symbol Support
[[file:images/casual-bookmarks-unicode-screenshot.png]]
diff --git a/docs/calc.org b/docs/calc.org
index 149d88b97f..ec8f7d4b41 100644
--- a/docs/calc.org
+++ b/docs/calc.org
@@ -1,7 +1,8 @@
* Calc
#+CINDEX: Calc
-#+VINDEX: casual-calc-tmenu
-Casual Calc is a user interface for Emacs Calc ([[info:calc#Top]]).
+#+VINDEX: casual-calc
+
+Casual Calc (library: ~casual-calc~) is a user interface for Emacs Calc
([[info:calc#Top]]).
[[file:images/casual-calc-tmenu.png]]
@@ -22,6 +23,7 @@ To install Casual Calc, add the following lines to your Emacs
initialization fil
** Calc Usage
#+CINDEX: Calc Usage
+#+VINDEX: casual-calc-tmenu
[[file:images/casual-calc-tmenu.png]]
@@ -39,7 +41,7 @@ Casual Calc organizes its main menu into the following
sections:
- Functions :: Entry point for sub-menus of commands organized into different
classes of functionality.
- Settings :: Entry point for sub-menus of commands to configure Calc settings.
-#+TEXINFO: @subheading Calc Basics
+#+TEXINFO: @subsubheading Calc Basics
It helps to know some basics about Calc.
diff --git a/docs/calendar.org b/docs/calendar.org
index 72f40f2d8c..bdd7e82faf 100644
--- a/docs/calendar.org
+++ b/docs/calendar.org
@@ -1,8 +1,7 @@
* Calendar
#+CINDEX: Calendar
#+VINDEX: casual-calendar
-#+VINDEX: casual-calendar-tmenu
-Casual Calendar is a user interface for Emacs Calendar/Diary. Its top-level
library is ~casual-calendar~. Access to numerous calendar and diary commands
are made available, most notably support for non-Gregorian calendar systems.
+Casual Calendar (library: ~casual-calendar~) is a user interface for Emacs
Calendar/Diary. Its top-level library is ~casual-calendar~. Access to numerous
calendar and diary commands are made available, most notably support for
non-Gregorian calendar systems.
[[file:images/casual-calendar-screenshot.png]]
@@ -21,6 +20,7 @@ The main menu for Casual Calendar (~casual-calendar-tmenu)~
is invoked by the co
** Calendar Usage
#+CINDEX: Calendar Usage
+#+VINDEX: casual-calendar-tmenu
[[file:images/casual-calendar-screenshot.png]]
diff --git a/docs/casual.info b/docs/casual.info
index 9bfac06ff7..b40a83e23b 100644
Binary files a/docs/casual.info and b/docs/casual.info differ
diff --git a/docs/casual.org b/docs/casual.org
index 60f7be4239..b9af6e3358 100644
--- a/docs/casual.org
+++ b/docs/casual.org
@@ -61,7 +61,7 @@ Copyright © 2024-2025 Charles Y. Choi
#+CINDEX: Motivations
-#+TEXINFO: @subheading Goals
+#+TEXINFO: @subsubheading Goals
- To provide a keyboard-driven menu UI toolkit for common Emacs commands.
@@ -70,7 +70,7 @@ Copyright © 2024-2025 Charles Y. Choi
- To be a frequently used interface for modes supported by Casual.
-#+TEXINFO: @subheading Non-Goals
+#+TEXINFO: @subsubheading Non-Goals
- Full coverage of all Emacs commands.
@@ -123,7 +123,7 @@ For Transient menus that offer setting different values,
the following bindings
Clears the set and saved values of the active transient.
-#+TEXINFO: @subheading References
+#+TEXINFO: @subsubheading References
- [[info:transient#Aborting and Resuming Transients]]
@@ -207,7 +207,7 @@ That said, if you have used ~:ensure t~ to install a
superseded package, you /mu
The Casual menus share common user experience (UX) conventions to facilitate
usability. This section details this.
-#+TEXINFO: @subheading Common Menu Navigation
+#+TEXINFO: @subsubheading Common Menu Navigation
Casual organizes a mode's command set into a menu hierarchy. As the user
descends down different menu levels, the user is given the option to dismiss
the current menu or to dismiss completely all menu levels descended. Transient
provides a standard convention for menu dismissal via the {{{kbd(C-g)}}}
(~transient-quit-one~) and {{{kbd(C-q)}}} (~transient-quit-all~) commands.
@@ -215,18 +215,18 @@ Casual makes explicit the display of {{{kbd(C-g)}}} and
{{{kbd(C-q)}}} at the bo
#+VINDEX: casual-lib-hide-navigation
Users who wish to have them hidden can set the customizable variable
~casual-lib-hide-navigation~ to a non-nil value. This can be changed from a
Casual mode-specific settings menu.
-#+TEXINFO: @subheading Settings Menu
+#+TEXINFO: @subsubheading Settings Menu
Most all Casual main menus support invoking a mode-specific settings menu via
the binding {{{kbd(\,)}}}.
-#+TEXINFO: @subheading Unicode Symbol Support
+#+TEXINFO: @subsubheading Unicode Symbol Support
#+VINDEX: casual-lib-use-unicode
The customizable variable named ~casual-lib-use-unicode~ which when non-nil
will inform Casual menus to use Unicode symbol labels whenever supported. This
can be changed from Casual mode-specific settings menu.
If ~casual-lib-use-unicode~ is set to ~t~, it is also recommended that the
variable ~transient-align-variable-pitch~ also be set to ~t~.
-#+TEXINFO: @subheading Common Key Bindings
+#+TEXINFO: @subsubheading Common Key Bindings
Listed below are keybindings which are common among Casual menus.
@@ -251,7 +251,7 @@ Listed below are keybindings which are common among Casual
menus.
For modes that organize items into sections, navigation to a next or
previous section is bound to {{{kbd([)}}} and {{{kbd(])}}} respectively.
-#+TEXINFO: @subheading Label Conventions
+#+TEXINFO: @subsubheading Label Conventions
Casual annotates menu labels with the following conventions:
@@ -261,7 +261,7 @@ Casual annotates menu labels with the following conventions:
- ‘ⓘ’ :: If the label starts with the glyph ⓘ (CIRCLED LATIN SMALL LETTER I),
then the command will invoke the Info reader.
-#+TEXINFO: @subheading Menu Naming Conventions
+#+TEXINFO: @subsubheading Menu Naming Conventions
To distinguish Transient menu (prefix) definitions from existing Emacs menu
definitions using keymaps ([[info:elisp#Menu Keymaps][elisp#Menu Keymaps]]),
Casual uses the naming suffix ~-tmenu~.
diff --git a/docs/compile.org b/docs/compile.org
index a327ce7a9e..b55a6497a6 100644
--- a/docs/compile.org
+++ b/docs/compile.org
@@ -2,9 +2,9 @@
#+CINDEX: Compile
#+CINDEX: compilation-mode
#+CINDEX: grep-mode
-#+VINDEX: casual-compile-tmenu
+#+VINDEX: casual-compile
-Casual Compile is a user interface for the output of the ~compile~ command
([[info:emacs#Compilation]]). The output buffer's major mode is
~compilation-mode~ whose commands are surfaced by Casual Compile.
+Casual Compile (library: ~casual-compile~) is a user interface for the output
of the ~compile~ command ([[info:emacs#Compilation]]). The output buffer's
major mode is ~compilation-mode~ whose commands are surfaced by Casual Compile.
In similar fashion, output of Emacs-wrapped Grep commands ([[info:emacs#Grep
Searching]]) is also supported by Casual Compile. This is because the output of
Grep commands use the major mode ~grep-mode~ which is derived from
~compilation-mode~.
@@ -62,6 +62,7 @@ Similar treatment for ~grep-mode-map~ can be done.
** Compile Usage
#+CINDEX: Compile Usage
+#+VINDEX: casual-compile-tmenu
[[file:images/casual-compile-screenshot.png]]
@@ -77,12 +78,12 @@ The following sections are offered in the menu:
If the output window is from a Grep command, ~casual-compile-tmenu~ will
adjust its labels accordingly as shown below.
[[file:images/casual-compile-grep-screenshot.png]]
-#+TEXINFO: @subheading Compile Settings
+#+TEXINFO: @subsubheading Compile Settings
#+VINDEX: casual-compile-settings-tmenu
The menu ~casual-compile-settings-tmenu~ provides access to different
~compilation-mode~ settings.
-#+TEXINFO: @subheading Compile Mode Unicode Symbol Support
+#+TEXINFO: @subsubheading Compile Mode Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Compile will use Unicode symbols as appropriate in its menus.
diff --git a/docs/css.org b/docs/css.org
index 8d77f0fb06..b779d6df80 100644
--- a/docs/css.org
+++ b/docs/css.org
@@ -3,9 +3,9 @@
:CUSTOM_ID: css-top
:END:
#+CINDEX: CSS
-#+VINDEX: casual-css-tmenu
+#+VINDEX: casual-css
-Casual CSS is a user interface for ~css-mode~.
+Casual CSS (library: ~casual-css~) is a user interface for ~css-mode~.
[[file:images/casual-css-screenshot.png]]
Casual also has support for HTML editing ([[#html-top][HTML]]).
@@ -28,6 +28,7 @@ A different binding ({{{kbd(M-m)}}}) is used as
~casual-css-tmenu~ is intended t
** CSS Usage
#+CINDEX: CSS Usage
+#+VINDEX: casual-css-tmenu
[[file:images/casual-css-screenshot.png]]
@@ -43,7 +44,7 @@ The following sections are offered in the menu:
- “{{{kbd(h)}}} Highlight Line” toggles ~hl-line-mode~ to avoid interfering
the display of color specifications.
-#+TEXINFO: @subheading CSS Settings
+#+TEXINFO: @subsubheading CSS Settings
#+VINDEX: casual-css-settings-tmenu
The menu ~casual-css-settings-tmenu~ provides access to different ~css-mode~
settings.
@@ -51,7 +52,7 @@ The menu ~casual-css-settings-tmenu~ provides access to
different ~css-mode~ set
[[file:images/casual-css-settings-screenshot.png]]
-#+TEXINFO: @subheading CSS Unicode Symbol Support
+#+TEXINFO: @subsubheading CSS Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
CSS will use Unicode symbols as appropriate in its menus.
diff --git a/docs/csv.org b/docs/csv.org
index c016f622b4..1a1c40f212 100644
--- a/docs/csv.org
+++ b/docs/csv.org
@@ -1,8 +1,8 @@
* CSV
#+CINDEX: CSV
-#+VINDEX: casual-csv-tmenu
+#+VINDEX: casual-csv
-Casual CSV is a user interface for ~csv-mode~, a mode for working with CSV
files.
+Casual CSV (library: ~casual-csv~) is a user interface for ~csv-mode~, a mode
for working with CSV files.
[[file:images/casual-csv-edit-screenshot.png]]
@@ -19,6 +19,8 @@ In your initialization file, bind the Transient
~casual-csv-tmenu~ to your key b
(keymap-set csv-mode-map "M-m" #'casual-csv-tmenu)
#+end_src
+The binding {{{kbd(M-m)}}} is intended to complement the binding
{{{kbd(C-o)}}} used by [[#editkit-install][EditKit]].
+
While not required, the following configuration is recommended for working
with CSV files.
#+BEGIN_SRC elisp :lexical no
@@ -36,7 +38,7 @@ While not required, the following configuration is
recommended for working with
** CSV Usage
#+CINDEX: CSV Usage
-
+#+VINDEX: casual-csv-tmenu
[[file:images/casual-csv-edit-screenshot.png]]
The following sections are offered in the menu:
@@ -49,7 +51,7 @@ The following sections are offered in the menu:
- Fields :: Kill and yank commands dedicated for CSV mode. Note that these
commands do /not/ use the default ~kill-ring~ and are marked with a bullet (•).
This section is displayed only if the buffer is editable.
- Misc :: Miscellaneous commands. Note if a region is selected containing
multiple complete rows, the “{{{kbd(C)}}} Copy as Table” command will reformat
the selected rows as an Org table and copy them in the ~kill-ring~ for
subsequent pasting.
-#+TEXINFO: @subheading CVS View/Edit, Duplicate
+#+TEXINFO: @subsubheading CVS View/Edit, Duplicate
If the buffer is in view (read-only) mode, then only relevant commands are
displayed.
@@ -57,7 +59,7 @@ If the buffer is in view (read-only) mode, then only relevant
commands are displ
If the buffer is editable, a common to desire to instead work on a copy of the
CSV file to avoid making unwanted changes. This can be done using the
“{{{kbd(d)}}} Duplicate” command.
-#+TEXINFO: @subheading CSV Align
+#+TEXINFO: @subsubheading CSV Align
#+VINDEX: casual-csv-align-tmenu
The display of the CSV buffer can be controlled with the menu
~casual-csv-align-tmenu~.
@@ -65,7 +67,7 @@ The display of the CSV buffer can be controlled with the menu
~casual-csv-align-
[[file:images/casual-csv-align-screenshot.png]]
-#+TEXINFO: @subheading CSV Settings
+#+TEXINFO: @subsubheading CSV Settings
#+VINDEX: casual-csv-settings-tmenu
The menu ~casual-csv-settings-tmenu~ provides access to different ~csv-mode~
settings.
@@ -73,7 +75,7 @@ The menu ~casual-csv-settings-tmenu~ provides access to
different ~csv-mode~ set
[[file:images/casual-csv-settings-screenshot.png]]
-#+TEXINFO: @subheading CSV Unicode Symbol Support
+#+TEXINFO: @subsubheading CSV Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
CSV will use Unicode symbols as appropriate in its menus.
diff --git a/docs/dired.org b/docs/dired.org
index c39c3df619..c5f4204087 100644
--- a/docs/dired.org
+++ b/docs/dired.org
@@ -1,7 +1,7 @@
* Dired
#+CINDEX: Dired
-#+VINDEX: casual-dired-tmenu
-Casual Dired provides a user interface for Dired ([[info:emacs#Dired]]), the
Emacs file manager. Its top-level library is ~casual-dired~.
+#+VINDEX: casual-dired
+Casual Dired (library: ~casual-dired~) provides a user interface for Dired
([[info:emacs#Dired]]), the Emacs file manager. Its top-level library is
~casual-dired~.
[[file:images/casual-dired-screenshot.png]]
@@ -56,7 +56,7 @@ Included is a standard keymap for Dired sorting commands
(~casual-dired-sort-men
#+end_src
-#+TEXINFO: @subheading Configuration
+#+TEXINFO: @subsubheading Configuration
As Dired has been around for a long time, the different ways of configuring it
are myriad. Described below is a configuration used by the author that is
consistent with the bindings used in Casual Dired.
@@ -98,7 +98,7 @@ As Dired has been around for a long time, the different ways
of configuring it a
(keymap-set image-dired-thumbnail-mode-map "p"
#'image-dired-display-previous)
#+end_src
-#+TEXINFO: @subheading Dired Variables
+#+TEXINFO: @subsubheading Dired Variables
The Casual Dired main menu offers “{{{kbd(\,)}}} Settings›” to customize a set
of commonly used Dired variables.
@@ -108,6 +108,7 @@ If you have GNU ~ls~ installed and configured, use the
{{{kbd(l)}}} key to set t
** Dired Usage
#+CINDEX: Dired Usage
+#+VINDEX: casual-dired-tmenu
[[file:images/casual-dired-screenshot.png]]
diff --git a/docs/ediff.org b/docs/ediff.org
index f864630ed8..b33679d7fb 100644
--- a/docs/ediff.org
+++ b/docs/ediff.org
@@ -1,8 +1,8 @@
* Ediff
#+CINDEX: Ediff
-#+VINDEX: casual-ediff-tmenu
+#+VINDEX: casual-ediff
-Casual Ediff is a user interface for Ediff ([[info:ediff#Top][Ediff]]), a
visual interface for the Unix diff and patch utilities. Casual Ediff strives to
improve the usability of Ediff by simplifying the following workflows:
+Casual Ediff (library: ~casual-ediff~) is a user interface for Ediff
([[info:ediff#Top][Ediff]]), a visual interface for the Unix diff and patch
utilities. Casual Ediff strives to improve the usability of Ediff by
simplifying the following workflows:
- Comparing a modified and uncommitted version-controlled file with its most
recent commit.
- Resolving a merge conflicted file.
@@ -65,6 +65,7 @@ Casual Ediff recommends the following variables be set as
follows:
** Ediff Usage
#+CINDEX: Ediff Usage
+#+VINDEX: casual-ediff-tmenu
[[file:images/casual-ediff-basic-screenshot.png]]
diff --git a/docs/editkit.org b/docs/editkit.org
index 25dd43c6e3..d899906753 100644
--- a/docs/editkit.org
+++ b/docs/editkit.org
@@ -3,9 +3,9 @@
:CUSTOM_ID: editkit
:END:
#+CINDEX: EditKit
-#+VINDEX: casual-editkit-main-tmenu
+#+VINDEX: casual-editkit
-Casual EditKit provides a user interface for the numerous editing commands
offered by Emacs. Its top-level library is ~casual-editkit~. As text editing is
a core feature of Emacs, the menus provided here are intended to be made
available in a global fashion for buffers that are intended to be edited.
+Casual EditKit (library: ~casual-editkit~) provides a user interface for the
numerous editing commands offered by Emacs. Its top-level library is
~casual-editkit~. As text editing is a core feature of Emacs, the menus
provided here are intended to be made available in a global fashion for buffers
that are intended to be edited.
[[file:images/casual-editkit-main-screenshot.png]]
@@ -34,6 +34,7 @@ For motivated users desiring a bespoke solution, it is
recommended that they use
** EditKit Usage
#+CINDEX: EditKit Usage
+#+VINDEX: casual-editkit-main-tmenu
[[file:images/casual-editkit-main-screenshot.png]]
@@ -74,7 +75,7 @@ The menu ~casual-editkit-edit-tmenu~ contains commands and
sub-menus related to
Depending on the buffer mode, text can be operated on with different
granularity as words, sentences, paragraphs, balanced expressions, functions
(defuns). The following sub-menus illustrate what operations can be done on the
different text granularity.
-#+TEXINFO: @subheading Mark› (casual-editkit-mark-tmenu)
+#+TEXINFO: @subsubheading Mark› (casual-editkit-mark-tmenu)
#+CINDEX: Mark commands
#+VINDEX: casual-editkit-mark-tmenu
@@ -82,14 +83,14 @@ Text can be marked with different granularity with this
menu. Note that the menu
[[file:images/casual-editkit-mark-screenshot.png]]
-#+TEXINFO: @subheading Copy› (casual-editkit-copy-tmenu)
+#+TEXINFO: @subsubheading Copy› (casual-editkit-copy-tmenu)
#+CINDEX: Copy commands
#+VINDEX: casual-editkit-copy-tmenu
Text can be copied with different granularity with this menu.
[[file:images/casual-editkit-copy-screenshot.png]]
-#+TEXINFO: @subheading Kill (Cut)› (casual-editkit-kill-tmenu)
+#+TEXINFO: @subsubheading Kill (Cut)› (casual-editkit-kill-tmenu)
#+CINDEX: Kill commands
#+CINDEX: Cut commands
#+VINDEX: casual-editkit-kill-tmenu
@@ -97,7 +98,7 @@ Text can be cut (killed) with different granularity with this
menu.
[[file:images/casual-editkit-kill-screenshot.png]]
-#+TEXINFO: @subheading Move› (casual-editkit-move-tmenu)
+#+TEXINFO: @subsubheading Move› (casual-editkit-move-tmenu)
#+CINDEX: Move commands
#+VINDEX: casual-editkit-move-tmenu
#+VINDEX: casual-editkit-move-word-tmenu
@@ -114,35 +115,35 @@ If “{{{kbd(w)}}} Word›” is selected, then the following
menu ~casual-editk
Similar menus for moving a sentence (~casual-editkit-move-sentence-tmenu~) and
balanced expression (~casual-editkit-move-sexp-tmenu~) are available.
-#+TEXINFO: @subheading Transpose› (casual-editkit-transpose-tmenu)
+#+TEXINFO: @subsubheading Transpose› (casual-editkit-transpose-tmenu)
#+CINDEX: Transpose commands
#+VINDEX: casual-editkit-transpose-tmenu
Text can be transposed with different granularity with this menu.
[[file:images/casual-editkit-transpose-screenshot.png]]
-#+TEXINFO: @subheading Transform› (casual-editkit-transform-tmenu)
+#+TEXINFO: @subsubheading Transform› (casual-editkit-transform-tmenu)
#+CINDEX: Transform commands
#+VINDEX: casual-editkit-transform-tmenu
Text can be transformed with different granularity with this menu. Supported
transformations are capitalization, lower and upper casing of text.
[[file:images/casual-editkit-transform-screenshot.png]]
-#+TEXINFO: @subheading Delete› (casual-editkit-delete-tmenu)
+#+TEXINFO: @subsubheading Delete› (casual-editkit-delete-tmenu)
#+CINDEX: Delete commands
#+VINDEX: casual-editkit-delete-tmenu
Operations involving text deletion are included in this menu, including
joining lines and zapping to a character.
[[file:images/casual-editkit-delete-screenshot.png]]
-#+TEXINFO: @subheading Sort› (casual-editkit-sort-tmenu)
+#+TEXINFO: @subsubheading Sort› (casual-editkit-sort-tmenu)
#+CINDEX: Sort commands
#+VINDEX: casual-editkit-sort-tmenu
Sorting operations on different sections of text are supported, as well as
support for sorting off a field. Press ~?~ or ~C-h~ to get help for a specific
command.
[[file:images/casual-editkit-sort-screenshot.png]]
-#+TEXINFO: @subheading Reformat› (casual-editkit-reformat-tmenu)
+#+TEXINFO: @subsubheading Reformat› (casual-editkit-reformat-tmenu)
#+CINDEX: Reformat commands
#+VINDEX: casual-editkit-reformat-tmenu
Commands to reformat text such as filling, centering, and repunctuating
sentences are provided here. Press ~?~ or ~C-h~ to get help for a specific
command.
@@ -150,7 +151,7 @@ Commands to reformat text such as filling, centering, and
repunctuating sentence
[[file:images/casual-editkit-reformat-screenshot.png]]
-#+TEXINFO: @subheading Rectangle› (casual-editkit-rectangle-tmenu)
+#+TEXINFO: @subsubheading Rectangle› (casual-editkit-rectangle-tmenu)
#+CINDEX: Rectangle commands
#+VINDEX: casual-editkit-rectangle-tmenu
@@ -173,7 +174,7 @@ Note that the section “Transpose” is only available if the
package [[https:/
Users wishing more direct access to this menu can bind
~casual-editkit-windows-tmenu~ as shown in the [[#editkit-install][install
section]].
-#+TEXINFO: @subheading Window Deletion
+#+TEXINFO: @subsubheading Window Deletion
#+CINDEX: Window deletion
#+VINDEX: casual-editkit-window-delete-tmenu
@@ -181,7 +182,7 @@ This menu provides support for deleting windows. Note the
commands apply to othe
[[file:images/casual-editkit-window-delete-screenshot.png]]
-#+TEXINFO: @subheading Window Menu Unicode Symbol Support
+#+TEXINFO: @subsubheading Window Menu Unicode Symbol Support
If the variable ~casual-lib-use-unicode~ is set to ~t~, then Unicode symbols
are used in the labels.
diff --git a/docs/elisp.org b/docs/elisp.org
index 2c86e37551..4c75d55483 100644
--- a/docs/elisp.org
+++ b/docs/elisp.org
@@ -1,8 +1,8 @@
* Elisp
#+CINDEX: Elisp
-#+VINDEX: casual-elisp-tmenu
+#+VINDEX: casual-elisp
-Casual Elisp is a user interface for ~emacs-lisp-mode~. It provides a menu for
commands useful for Elisp development.
+Casual Elisp (library: ~casual-elisp~) is a user interface for
~emacs-lisp-mode~. It provides a menu for commands useful for Elisp development.
[[file:images/casual-elisp-screenshot.png]]
@@ -20,9 +20,11 @@ In your initialization file, bind the Transient
~casual-elisp-tmenu~ to your key
#+end_src
+The binding {{{kbd(M-m)}}} is intended to complement the binding
{{{kbd(C-o)}}} used by [[#editkit-install][EditKit]].
+
** Elisp Usage
#+CINDEX: Elisp Usage
-
+#+VINDEX: casual-elisp-tmenu
[[file:images/casual-elisp-screenshot.png]]
Invoke the Casual Elisp main menu ~casual-elisp-tmenu~ via the binding
{{{kbd(M-m)}}} (or your binding of preference) in an Elisp window. Typically
this is whenever an =.el= file is opened.
@@ -42,7 +44,7 @@ The following sections are offered in the menu:
- Navigate :: Commands for Sexp (balanced expression) navigation.
-#+TEXINFO: @subheading Edebug Support
+#+TEXINFO: @subsubheading Edebug Support
#+CINDEX: Edebug
Using the command prefix {{{kbd(C-u)}}} when ~casual-elisp-tmenu~ is raised
will change the “{{{kbd(d)}}} Defun✦” menu item to “{{{kbd(d)}}} Edebug” to
support instrumenting a function for Edebug ([[info:elisp#Edebug]]).
@@ -50,14 +52,14 @@ Using the command prefix {{{kbd(C-u)}}} when
~casual-elisp-tmenu~ is raised will
[[file:images/casual-elisp-edebug-screenshot.png]]
-#+TEXINFO: @subheading Elisp Settings
+#+TEXINFO: @subsubheading Elisp Settings
#+VINDEX: casual-elisp-settings-tmenu
The menu ~casual-elisp-settings-tmenu~ provides access to different
~emacs-lisp-mode~ settings.
# TODO: Insert screenshot
-#+TEXINFO: @subheading Elisp Unicode Symbol Support
+#+TEXINFO: @subsubheading Elisp Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Elisp will use Unicode symbols as appropriate in its menus.
diff --git a/docs/eshell.org b/docs/eshell.org
index b677b9d01b..fd6962b064 100644
--- a/docs/eshell.org
+++ b/docs/eshell.org
@@ -1,8 +1,8 @@
* Eshell
#+CINDEX: Eshell
-#+VINDEX: casual-eshell-tmenu
+#+VINDEX: casual-eshell
-Casual Eshell is a user interface for ~Eshell~, a shell-like command
interpreter implemented in Emacs Lisp.
+Casual Eshell (library: ~casual-eshell~) is a user interface for ~Eshell~, a
shell-like command interpreter implemented in Emacs Lisp.
[[file:images/casual-eshell-screenshot.png]]
@@ -22,6 +22,7 @@ In your initialization file, bind the Transient
~casual-eshell-tmenu~ to your ke
** Eshell Usage
#+CINDEX: Eshell Usage
+#+VINDEX: casual-eshell-tmenu
Eshell can be invoked via ~M-x eshell~. In the Eshell window, press
{{{kbd(C-o)}}} (or your binding of preference) to raise the menu
~casual-eshell-tmenu~.
@@ -38,14 +39,14 @@ The following sections are offered in the menu:
[[file:images/casual-eshell-process-screenshot.png]]
-#+TEXINFO: @subheading Eshell Settings
+#+TEXINFO: @subsubheading Eshell Settings
#+VINDEX: casual-eshell-settings-tmenu
The menu ~casual-eshell-settings-tmenu~ provides access to different
~eshell-mode~ settings.
# TODO: Insert screenshot
-#+TEXINFO: @subheading Eshell Info
+#+TEXINFO: @subsubheading Eshell Info
#+VINDEX: casual-eshell-info-tmenu
The menu ~casual-eshell-info-tmenu~ provides access to different ~eshell-mode~
documentation in its Info manual.
@@ -53,7 +54,7 @@ The menu ~casual-eshell-info-tmenu~ provides access to
different ~eshell-mode~ d
# TODO: Insert screenshot
-#+TEXINFO: @subheading Eshell Unicode Symbol Support
+#+TEXINFO: @subsubheading Eshell Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Eshell will use Unicode symbols as appropriate in its menus.
diff --git a/docs/eww.org b/docs/eww.org
index 6eddffa2ab..3f3f3f0d48 100644
--- a/docs/eww.org
+++ b/docs/eww.org
@@ -1,8 +1,8 @@
* EWW
#+CINDEX: EWW
-#+VINDEX: casual-eww-tmenu
+#+VINDEX: casual-eww
-Casual EWW is a user interface for Emacs Web Wowser ([[info:eww#Top]]), a web
browser that runs inside Emacs.
+Casual EWW (library: ~casual-eww~) is a user interface for Emacs Web Wowser
([[info:eww#Top]]), a web browser that runs inside Emacs.
[[file:images/casual-eww-screenshot.png]]
@@ -50,6 +50,7 @@ While not mandatory, the following bindings can make the EWW
keymaps consistent
** EWW Usage
#+CINDEX: EWW Usage
+#+VINDEX: casual-eww-tmenu
In an EWW window, invoke ~casual-eww-tmenu~ as shown below.
@@ -72,7 +73,7 @@ The following sections are offered in the menu:
- EWW Bookmarks :: Commands associated with EWW bookmarks.
-#+TEXINFO: @subheading EWW Settings
+#+TEXINFO: @subsubheading EWW Settings
#+VINDEX: casual-eww-settings-tmenu
Customize common EWW settings from this menu. These settings can be persisted
to be used across restarts of Emacs.
@@ -80,7 +81,7 @@ Customize common EWW settings from this menu. These settings
can be persisted to
[[file:images/casual-eww-settings-screenshot.png]]
-#+TEXINFO: @subheading EWW Display
+#+TEXINFO: @subsubheading EWW Display
#+VINDEX: casual-eww-display-tmenu
The menu ~casual-eww-display-tmenu~ provides commands to toggle different
display attributes of a web page.
@@ -88,7 +89,7 @@ The menu ~casual-eww-display-tmenu~ provides commands to
toggle different displa
[[file:images/casual-eww-display-screenshot.png]]
-#+TEXINFO: @subheading EWW Bookmarks
+#+TEXINFO: @subsubheading EWW Bookmarks
#+VINDEX: casual-eww-bookmarks-tmenu
The menu ~casual-eww-bookmarks-tmenu~ provides commands for managing the EWW
bookmark list.
@@ -97,7 +98,7 @@ The menu ~casual-eww-bookmarks-tmenu~ provides commands for
managing the EWW boo
Note that the EWW bookmarks list has a very limited feature set.
-#+TEXINFO: @subheading EWW Unicode Symbol Support
+#+TEXINFO: @subsubheading EWW Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
EWW will use Unicode symbols as appropriate in its menus.
diff --git a/docs/help.org b/docs/help.org
index a73ec6075a..7e80ee6372 100644
--- a/docs/help.org
+++ b/docs/help.org
@@ -1,8 +1,8 @@
* Help
#+CINDEX: Help
-#+VINDEX: casual-help-tmenu
+#+VINDEX: casual-help
-Casual Help is a user interface for ~help-mode~, a major mode for viewing help
text and navigating references in it.
+Casual Help (library: ~casual-help~) is a user interface for ~help-mode~, a
major mode for viewing help text and navigating references in it.
[[file:images/casual-help-screenshot.png]]
@@ -45,6 +45,7 @@ The following keybindings are recommended to support
consistent behavior between
** Help Usage
#+CINDEX: Help Usage
+#+VINDEX: casual-help-tmenu
After invoking help via a ~describe-~ command, invoke ~casual-help-tmenu~
using the binding ~C-o~ (or your binding of preference).
@@ -57,14 +58,14 @@ The following sections are offered in the menu:
- Info :: If available, then open this help topic in [[file:info.org][Info]].
- Source :: Show the Elisp source. If the help displayed is for a customizable
variable, then show a customize menu item.
-#+TEXINFO: @subheading Help Mode Settings
+#+TEXINFO: @subsubheading Help Mode Settings
#+VINDEX: casual-help-settings-tmenu
The menu ~casual-help-settings-tmenu~ provides access to different ~help-mode~
settings.
# TODO: Insert screenshot
-#+TEXINFO: @subheading Help Mode Unicode Symbol Support
+#+TEXINFO: @subsubheading Help Mode Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Help will use Unicode symbols as appropriate in its menus.
diff --git a/docs/html.org b/docs/html.org
index 7eec33e1e6..b0ae1dec81 100644
--- a/docs/html.org
+++ b/docs/html.org
@@ -2,11 +2,10 @@
:PROPERTIES:
:CUSTOM_ID: html-top
:END:
-
#+CINDEX: HTML
-#+VINDEX: casual-html-tmenu
+#+VINDEX: casual-html
-Casual HTML is a user interface for ~html-mode~ ([[info:emacs#HTML
Mode][html-mode]]).
+Casual HTML (library: ~casual-html~) is a user interface for ~html-mode~
([[info:emacs#HTML Mode][html-mode]]).
[[file:images/casual-html-screenshot.png]]
Casual also has support for CSS editing ([[#css-top][CSS]]).
@@ -24,19 +23,19 @@ In your initialization file, bind the Transient
~casual-html-tmenu~ to your key
(keymap-set html-mode-map "M-m" #'casual-html-tmenu)
#+end_src
-A different binding ({{{kbd(M-m)}}}) is used as ~casual-html-tmenu~ is
intended to work alongside with [[#editkit-install][Casual EditKit]].
-
It is convenient to also bind ~casual-html-tags-tmenu~ as well.
#+begin_src elisp :lexical no
(keymap-set html-mode-map "C-c m" #'casual-html-tags-tmenu)
#+end_src
+The binding {{{kbd(M-m)}}} is intended to complement the binding
{{{kbd(C-o)}}} used by [[#editkit-install][EditKit]].
+
If HTML Tree-sitter support is enabled, use the keymap ~html-ts-mode-map~ in
place of ~html-mode-map~.
** HTML Usage
#+CINDEX: HTML Usage
-
+#+VINDEX: casual-html-tmenu
[[file:images/casual-html-screenshot.png]]
The following sections are offered in the menu:
@@ -49,21 +48,21 @@ The following sections are offered in the menu:
Note that the item “{{{kbd(d)}}} Delete” (bound to ~sgml-delete-tag~) is not
available when HTML Tree-sitter support is enabled.
-#+TEXINFO: @subheading HTML Tags
+#+TEXINFO: @subsubheading HTML Tags
#+VINDEX: casual-html-tags-tmenu
This menu provides support for HTML tag-related commands provided by
~html-mode~.
[[file:images/casual-html-tags-screenshot.png]]
-#+TEXINFO: @subheading HTML Settings
+#+TEXINFO: @subsubheading HTML Settings
#+VINDEX: casual-html-settings-tmenu
SGML/HTML mode related settings can be customized using the menu
~casual-html-settings-tmenu~.
[[file:images/casual-html-settings-screenshot.png]]
-#+TEXINFO: @subheading HTML Unicode Symbol Support
+#+TEXINFO: @subsubheading HTML Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
html will use Unicode symbols as appropriate in its menus.
diff --git a/docs/ibuffer.org b/docs/ibuffer.org
index f6f5b9930a..78c2d683fa 100644
--- a/docs/ibuffer.org
+++ b/docs/ibuffer.org
@@ -1,7 +1,8 @@
* IBuffer
#+CINDEX: IBuffer
-#+VINDEX: casual-ibuffer-tmenu
-Casual IBuffer provides a user interface to Emacs IBuffer ([[info:emacs#Buffer
Menus][emacs#Buffer Menus]]), a mode designed for managing buffers. Its
top-level library is ~casual-ibuffer~.
+#+VINDEX: casual-ibuffer
+
+Casual IBuffer (library: ~casual-ibuffer~) provides a user interface to Emacs
IBuffer ([[info:emacs#Buffer Menus][emacs#Buffer Menus]]), a mode designed for
managing buffers.
IBuffer is a powerful tool for managing Emacs workflows. As Emacs is often
compared to an operating system, through that lens one could compare IBuffer to
being a task manager interface, managing instantiated buffers as opposed to
processes.
@@ -51,6 +52,7 @@ While not necessary for Casual IBuffer, enabling
~hl-line-mode~ and binding mous
** IBuffer Usage
#+CINDEX: IBuffer Usage
+#+VINDEX: casual-ibuffer-tmenu
[[file:images/casual-ibuffer-screenshot.png]]
diff --git a/docs/image.org b/docs/image.org
index db646e1d16..19b1dfcb0e 100644
--- a/docs/image.org
+++ b/docs/image.org
@@ -1,8 +1,8 @@
* Image
#+CINDEX: Image
-#+VINDEX: casual-image-tmenu
+#+VINDEX: casual-image
-Casual Image is a user interface for Image Mode ([[info:emacs#Image Mode]]).
Its top level library is ~casual-image~.
+Casual Image (library: ~casual-image~) is a user interface for Image Mode
([[info:emacs#Image Mode]]).
Resizing an image is supported if ImageMagick 6 or 7 is installed. This
interface deviates significantly with naming conventions used by ~image-mode~
to be more in alignment with conventional image editing tools.
@@ -24,6 +24,7 @@ The main menu for Casual Image is ~casual-image-tmenu~. Bind
this menu in the ke
** Image Usage
#+CINDEX: Image Usage
+#+VINDEX: casual-image-tmenu
[[file:images/casual-image-main-screenshot.png]]
@@ -53,7 +54,7 @@ Note that if the image file has been modified, the resize
interface will be disa
[[file:images/casual-image-resize-screenshot.png]]
-#+TEXINFO: @subheading Image Resize Options
+#+TEXINFO: @subsubheading Image Resize Options
- (g) Geometry -
[[https://imagemagick.org/script/command-line-processing.php#geometry][ImageMagick
specifier]] for the resize geometry.
- (o) Output to another file - If enabled, then the user will be prompted for
a different output file, else it will /irreversibly/ update the current image
file.
- (t) Type - Specify if /adaptive/ or /interpolative/ resizing should be used.
If nothing is specified then /standard/ resizing is used.
diff --git a/docs/images/casual-org-block-src-screenshot.png
b/docs/images/casual-org-block-src-screenshot.png
index f5a857de02..78243ff866 100644
Binary files a/docs/images/casual-org-block-src-screenshot.png and
b/docs/images/casual-org-block-src-screenshot.png differ
diff --git a/docs/images/casual-org-body-screenshot.png
b/docs/images/casual-org-body-screenshot.png
index c98bf11b7e..134ed11457 100644
Binary files a/docs/images/casual-org-body-screenshot.png and
b/docs/images/casual-org-body-screenshot.png differ
diff --git a/docs/images/casual-org-checkbox-screenshot.png
b/docs/images/casual-org-checkbox-screenshot.png
index 2441a32f4c..f42ea61577 100644
Binary files a/docs/images/casual-org-checkbox-screenshot.png and
b/docs/images/casual-org-checkbox-screenshot.png differ
diff --git a/docs/images/casual-org-clock-log-screenshot.png
b/docs/images/casual-org-clock-log-screenshot.png
new file mode 100644
index 0000000000..b2132a021f
Binary files /dev/null and b/docs/images/casual-org-clock-log-screenshot.png
differ
diff --git a/docs/images/casual-org-drawer-screenshot.png
b/docs/images/casual-org-drawer-screenshot.png
new file mode 100644
index 0000000000..d557c4c7fd
Binary files /dev/null and b/docs/images/casual-org-drawer-screenshot.png differ
diff --git a/docs/images/casual-org-headline-screenshot.png
b/docs/images/casual-org-headline-screenshot.png
index 1d592ad055..9771988399 100644
Binary files a/docs/images/casual-org-headline-screenshot.png and
b/docs/images/casual-org-headline-screenshot.png differ
diff --git a/docs/images/casual-org-in-block-src-screenshot.png
b/docs/images/casual-org-in-block-src-screenshot.png
new file mode 100644
index 0000000000..c50b28d003
Binary files /dev/null and b/docs/images/casual-org-in-block-src-screenshot.png
differ
diff --git a/docs/images/casual-org-item-screenshot.png
b/docs/images/casual-org-item-screenshot.png
index 73fe57b522..22d11f4b48 100644
Binary files a/docs/images/casual-org-item-screenshot.png and
b/docs/images/casual-org-item-screenshot.png differ
diff --git a/docs/images/casual-org-keyword-affiliate.png
b/docs/images/casual-org-keyword-affiliate.png
new file mode 100644
index 0000000000..8691f5b7ec
Binary files /dev/null and b/docs/images/casual-org-keyword-affiliate.png differ
diff --git a/docs/images/casual-org-keyword-screenshot.png
b/docs/images/casual-org-keyword-screenshot.png
index e3d054e25a..0b79c0e038 100644
Binary files a/docs/images/casual-org-keyword-screenshot.png and
b/docs/images/casual-org-keyword-screenshot.png differ
diff --git a/docs/images/casual-org-property-drawer-screenshot.png
b/docs/images/casual-org-property-drawer-screenshot.png
new file mode 100644
index 0000000000..f140b50993
Binary files /dev/null and
b/docs/images/casual-org-property-drawer-screenshot.png differ
diff --git a/docs/images/casual-org-property-screenshot.png
b/docs/images/casual-org-property-screenshot.png
new file mode 100644
index 0000000000..282d053e79
Binary files /dev/null and b/docs/images/casual-org-property-screenshot.png
differ
diff --git a/docs/images/casual-org-table-fedit-screenshot.png
b/docs/images/casual-org-table-fedit-screenshot.png
index 95b5693088..76fae3f31a 100644
Binary files a/docs/images/casual-org-table-fedit-screenshot.png and
b/docs/images/casual-org-table-fedit-screenshot.png differ
diff --git a/docs/images/casual-org-table-layout-screenshot.png
b/docs/images/casual-org-table-layout-screenshot.png
index 7fa2486e29..4fdb38eec3 100644
Binary files a/docs/images/casual-org-table-layout-screenshot.png and
b/docs/images/casual-org-table-layout-screenshot.png differ
diff --git a/docs/images/casual-org-table-screenshot.png
b/docs/images/casual-org-table-screenshot.png
index bbb3081cd6..b0f0788086 100644
Binary files a/docs/images/casual-org-table-screenshot.png and
b/docs/images/casual-org-table-screenshot.png differ
diff --git a/docs/images/casual-org-tblfm-screenshot.png
b/docs/images/casual-org-tblfm-screenshot.png
index b5c7fc5636..08366c2292 100644
Binary files a/docs/images/casual-org-tblfm-screenshot.png and
b/docs/images/casual-org-tblfm-screenshot.png differ
diff --git a/docs/info.org b/docs/info.org
index b5cbf1fd1b..ea5d59668d 100644
--- a/docs/info.org
+++ b/docs/info.org
@@ -1,8 +1,8 @@
* Info
#+CINDEX: Info
-#+VINDEX: casual-info-tmenu
+#+VINDEX: casual-info
-Casual Info is a user interface for the Emacs Info Reader. Its top level
library is ~casual-info~.
+Casual Info (library: ~casual-info~) is a user interface for the Emacs Info
Reader.
[[file:images/casual-info-screenshot.png]]
@@ -46,6 +46,7 @@ While not required, adding this configuration to your Emacs
initialization file
** Info Usage
#+CINDEX: Info Usage
+#+VINDEX: casual-info-tmenu
[[file:images/casual-info-screenshot.png]]
@@ -67,7 +68,7 @@ The main menu for Casual Info is organized into the following
sections:
- Quick :: Miscellaneous commands for working with an Info document. Included
are commands for bookmarks, copying the current node name, and cloning the
buffer.
-#+TEXINFO: @subheading Info Unicode Symbol Support
+#+TEXINFO: @subsubheading Info Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Info will use Unicode symbols as appropriate in its menus.
For more info on using Unicode symbols, please refer to [[#ux-conventions][UX
Conventions]].
diff --git a/docs/isearch.org b/docs/isearch.org
index 8dc769dcfd..edfefb4ad6 100644
--- a/docs/isearch.org
+++ b/docs/isearch.org
@@ -1,9 +1,9 @@
* I-Search
#+CINDEX: isearch
#+CINDEX: I-Search
-#+VINDEX: casual-isearch-tmenu
+#+VINDEX: casual-isearch
-Casual I-Search is a user interface for Emacs Incremental Search
([[info:emacs#Incremental Search][emacs#Incremental Search)]]. Its top level
library is ~casual-isearch~.
+Casual I-Search (library: ~casual-isearch~) is a user interface for Emacs
Incremental Search ([[info:emacs#Incremental Search][emacs#Incremental
Search)]].
[[file:images/casual-isearch-tmenu.png]]
@@ -22,6 +22,7 @@ The main menu for Casual I-Search is ~casual-isearch-tmenu~.
Bind this menu to {
** I-Search Usage
#+CINDEX: I-Search Usage
+#+VINDEX: casual-isearch-tmenu
[[file:images/casual-isearch-tmenu.png]]
@@ -42,7 +43,7 @@ When in search mode (typically via the keybinding
{{{kbd(C-s)}}} or {{{kbd(C-r)}
Use {{{kbd(C-g)}}} to dismiss this Transient menu.
-#+TEXINFO: @subheading I-Search Settings
+#+TEXINFO: @subsubheading I-Search Settings
#+VINDEX: casual-isearch-settings-tmenu
The menu ~casual-isearch-settings-tmenu~ provides access to different I-Search
settings.
@@ -50,7 +51,7 @@ The menu ~casual-isearch-settings-tmenu~ provides access to
different I-Search s
[[file:images/casual-isearch-settings-tmenu.png]]
-#+TEXINFO: @subheading I-Search Unicode Symbol Support
+#+TEXINFO: @subsubheading I-Search Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
I-Search will use Unicode symbols as appropriate in its menus.
diff --git a/docs/make-mode.org b/docs/make-mode.org
index 0c1de07a37..d606576819 100644
--- a/docs/make-mode.org
+++ b/docs/make-mode.org
@@ -1,11 +1,12 @@
* Make
#+CINDEX: Make
-#+VINDEX: casual-make-tmenu
+#+VINDEX: casual-make
-Casual Make is a user interface for ~make-mode~, a mode tailored for editing a
Makefile.
+Casual Make (library: ~casual-make~) is a user interface for ~make-mode~, a
mode for editing a Makefile.
[[file:images/casual-make-screenshot.png]]
+
** Make Install
:PROPERTIES:
:CUSTOM_ID: make-mode-install
@@ -18,8 +19,11 @@ In your initialization file, bind the Transient
~casual-make-tmenu~ to your key
(keymap-set makefile-mode-map "M-m" #'casual-make-tmenu)
#+end_src
+The binding {{{kbd(M-m)}}} is intended to complement the binding
{{{kbd(C-o)}}} used by [[#editkit-install][EditKit]].
+
** Make Usage
#+CINDEX: Make Usage
+#+VINDEX: casual-make-tmenu
[[file:images/casual-make-screenshot.png]]
diff --git a/docs/man.org b/docs/man.org
index bcc125baf9..0c3d50d690 100644
--- a/docs/man.org
+++ b/docs/man.org
@@ -1,8 +1,8 @@
* Man
#+CINDEX: Man
-#+VINDEX: casual-man-tmenu
+#+VINDEX: casual-man
-Casual Man is a user interface for ~Man-mode~, a Man page reader.
+Casual Man (library: ~casual-man~) is a user interface for ~Man-mode~, a Man
page reader.
[[file:images/casual-man-screenshot.png]]
@@ -46,6 +46,7 @@ The following keybindings are recommended to support
consistent behavior between
** Man Usage
#+CINDEX: Man Usage
+#+VINDEX: casual-man-tmenu
[[file:images/casual-man-screenshot.png]]
@@ -59,12 +60,12 @@ The following sections are offered in the menu:
- Link :: Jump to other Man pages referenced in the current Man page.
- Page :: If the Man page reader is configured to display all manual pages for
a given search key, navigation commands for multiple pages is provided.
-#+TEXINFO: @subheading Options Navigation
+#+TEXINFO: @subsubheading Options Navigation
#+VINDEX: casual-man-occur-options
~casual-man-tmenu~ provides the menu item {{{kbd(o)}}} which runs the command
~casual-man-occur-options~. This will invoke ~occur~ with a regexp that
searches for command line options (for example, "--foo", "-a") that can be
navigated via the ~occur~ interface.
-#+TEXINFO: @subheading Man Settings
+#+TEXINFO: @subsubheading Man Settings
#+VINDEX: casual-man-settings-tmenu
By default, the Man page reader will /not/ display all manual pages for given
search key. This can be changed in the Settings menu
~casual-man-settings-tmenu~ that can be invoked by pressing {{{kbd(\,)}}} in
~casual-man-tmenu~.
@@ -75,7 +76,7 @@ Press ‘s’ and configure ~Man-switches~ to have the value "-a"
to get all man
[[file:images/casual-man-settings.png]]
-#+TEXINFO: @subheading Man Unicode Symbol Support
+#+TEXINFO: @subsubheading Man Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Man will use Unicode symbols as appropriate in its menus.
For more info on using Unicode symbols, please refer to [[#ux-conventions][UX
Conventions]].
diff --git a/docs/org.org b/docs/org.org
index 94bf314200..a52b948275 100644
--- a/docs/org.org
+++ b/docs/org.org
@@ -1,8 +1,8 @@
* Org
#+CINDEX: Org
-#+VINDEX: casual-org-tmenu
+#+VINDEX: casual-org
-Casual Org is a keyboard-driven user interface for Org mode
([[info:org#Top][org#Top]]). It endeavors to provide /context-sensitive/
assistance by providing structure-related commands based on where the point
(cursor) is in an Org document.
+Casual Org (library: ~casual-org~) is a keyboard-driven user interface for Org
mode ([[info:org#Top][org#Top]]). It endeavors to provide /context-sensitive/
assistance by providing structure-related commands based on where the point
(cursor) is in an Org document.
The Casual Org main menu (~casual-org-tmenu~) supports basic Emacs-style point
navigation ([[info:emacs#Moving Point][emacs#Moving Point]]) in the buffer
while the menu is still raised. As the point is moved, the menu will adjust to
provide structure-related commands.
@@ -36,31 +36,51 @@ The binding {{{kbd(M-m)}}} is intended to complement the
binding {{{kbd(C-o)}}}
** Org Usage
#+CINDEX: Org Usage
+#+VINDEX: casual-org-tmenu
+
+Usage of Casual Org is primarily done through the Transient menu
~casual-org-tmenu~. This menu dynamically adjusts with respect to where the
point (cursor) is in an Org document's structure ([[info:org#Document
Structure][org#Document Structure]]). For example, if the point is in a
headline the menu displayed will be different from that of a table.
+
+Based on where the point is in an Org buffer, the following variants of
~casual-org-tmenu~ are supported:
-The primary Org menu ~casual-org-tmenu~ dynamically configures itself with
respect to the type of Org structure ([[info:org#Document
Structure][org#Document Structure]]) the point is in. More detail on what menu
variants are available for each structure are described in the links below.
+- Headline
+- Body
+- List
+- Table
+- Block
+- Keyword
+- Property Drawer
+- Property
+- Drawer
+- Clock Log
-Most of the menu variants have a common set of sections as shown below. These
sections are:
+Many of the menu variants have a common set of command sections. These
sections include:
- Link :: Commands related to Org links and citation.
- Timestamp :: Timestamp-related commands.
- Clock :: Clock-related commands.
- Display :: Display-related commands.
-- Navigation :: Navigation-related commands using basic Emacs-style key
bindings.
- Mark :: Structural-marking commands.
-- Org :: Miscellaneous Org commands.
+- Util :: Org utility commands.
-Depending on the Org structure the point is in, some subset of the above
sections are made available.
+Note that not all of these command sections are offered in all menu variants.
This is because the design intent for Casual Org is to /constrain/ choice based
on context.
-[[file:images/casual-org-body-screenshot.png]]
+#+TEXINFO: @subsubheading Navigation
+
+The menus in the Casual Org package (~casual-org~) are designed to allow for
navigation of the current Org buffer using key bindings /not/ used by the
Casual menu. This means that basic Emacs point (cursor) navigation not
involving the arrow keys will be available ([[info:emacs#Moving
Point][emacs#Moving Point]]). It is also possible to inadvertently insert text
when a Casual Org menu is raised. Accidental changes can be undone using the
“{{{kbd(U)}}} Undo” command.
+
+To use Casual Org effectively, it is recommended that the user is familiar
with Org outline editing ([[info:org#Structure Editing][org#Structure
Editing]]).
*** Org Headline
:PROPERTIES:
:CUSTOM_ID: org-usage-headline
:END:
+#+CINDEX: Org Headline
+
+
[[file:images/casual-org-headline-screenshot.png]]
-When the point is in a headline ([[info:org#Headlines][org#Headlines]]) the
following sections are displayed in ~casual-org-tmenu~:
+When the point is in a headline ([[info:org#Headlines][org#Headlines]]) the
following command sections are displayed in ~casual-org-tmenu~:
- Headline :: Commands that operate on a headline.
- Add :: Commands that add a headline.
@@ -68,41 +88,60 @@ When the point is in a headline
([[info:org#Headlines][org#Headlines]]) the foll
- Date :: Date-related commands.
- Priority :: Prioritization-related commands.
- Misc :: Miscellaneous commands.
-
-
+
+
*** Org Body
:PROPERTIES:
:CUSTOM_ID: org-usage-body
:END:
+#+CINDEX: Org Body
-When the point is not in any Org structure it is considered "body" text and
the following variant of ~casual-org-tmenu~ is shown.
+If the point is in a part of an Org document that is not considered structure,
this menu variant of ~casual-org-tmenu~ is displayed.
[[file:images/casual-org-body-screenshot.png]]
+Variant-specific command sections provided are:
+
+- To :: Commands to convert the Org element under point to either a heading or
a list.
+- Add :: Commands to add either a block, drawer, or keyword.
+
+
*** Org List
:PROPERTIES:
:CUSTOM_ID: org-usage-list
:END:
+#+CINDEX: Org List
-When the point is in a list item ([[info:org#Plain Lists][org#Plain Lists]])
the following sections are displayed in ~casual-org-tmenu~:
+When the point is in a list item ([[info:org#Plain Lists][org#Plain Lists]]),
the following list-related commands are displayed in ~casual-org-tmenu~:
+
+- {{{kbd(a)}}} Add :: Inserts a list item.
+- {{{kbd(b)}}} To Checkbox :: Converts a list item to a checkbox.
+- {{{kbd(c)}}} Cycle :: Changes the list style from a cycle of styles.
+- {{{kbd(s)}}} Sort :: Sorts the list given user-specified criteria.
+
+If the point is at the very start of the list, then then certain commands like
“{{{kbd(b)}}} To Checkbox” will affect all items in the list.
-- Item :: List item related commands.
-- Checkbox :: Checkbox related commands.
-
[[file:images/casual-org-item-screenshot.png]]
-#+TEXINFO: @subheading Checkbox
+#+TEXINFO: @subsubheading Checkbox
-A list item can be converted to and from a checkbox using the “{{{kbd(b)}}}
Toggle Checkbox” command. Note that the *Checkbox* section in the menu is
enabled when the point is on a checkbox item.
+When an item is converted to a checkbox, the heading of the section changes
from "Item" to "Checkbox". The following two commands are added:
+
+- {{{kbd(C-c)}}} Toggle :: Toggle the checkbox from an unchecked (~[ ]~) to a
checked (~[X]~) state or vice-versa.
+- {{{kbd(-)}}} In Progress :: Change a checkbox from an unchecked (~[ ]~) to
an in-progress (~[-]~) state.
+ Use the “{{{kbd(C-c)}}} Toggle” command to reset from the in-progress state.
[[file:images/casual-org-checkbox-screenshot.png]]
+Use the “{{{kbd(b)}}} To Item” command to revert a checkbox back to a plain
item.
+
*** Org Table
:PROPERTIES:
:CUSTOM_ID: org-usage-table
:END:
+#+CINDEX: Org Table
When the point is in a table ([[info:org#Tables][org#Tables]]) the following
sections are displayed in ~casual-org-tmenu~:
@@ -111,17 +150,17 @@ When the point is in a table
([[info:org#Tables][org#Tables]]) the following sec
- Region :: Region-specific editing commands.
- Compute :: Table-specific compute commands.
- Display :: Table-specific display commands.
-
-
+
+
[[file:images/casual-org-table-screenshot.png]]
-#+TEXINFO: @subheading Table Formulas (TBLFM)
+#+TEXINFO: @subsubheading Table Formulas (TBLFM)
-If the point is on a ~TBLFM~ keyword ([[info:org#Field and range
formulas][org#Field and range formulas]]), then the following menu variant of
~casual-org-tmenu~ is displayed.
+If the point is on a ~TBLFM~ keyword ([[info:org#Field and range
formulas][org#Field and range formulas]]), then the following menu variant of
~casual-org-tmenu~ is shown.
[[file:images/casual-org-tblfm-screenshot.png]]
-#+TEXINFO: @subheading Org Table Layout
+#+TEXINFO: @subsubheading Org Table Layout
#+VINDEX: casual-org-table-structure-tmenu
From the *Table* section in ~casual-org-tmenu~, selecting “{{{kbd(l)}}}
Layout” will raise the table layout menu (~casual-org-table-structure-tmenu~).
Use this menu to make structural edits to the table.
@@ -130,7 +169,7 @@ From the *Table* section in ~casual-org-tmenu~, selecting
“{{{kbd(l)}}} Layout
[[file:images/casual-org-table-layout-screenshot.png]]
-#+TEXINFO: @subheading Org Table Formula Edit
+#+TEXINFO: @subsubheading Org Table Formula Edit
#+VINDEX: casual-org-table-fedit-tmenu
When editing formulas for a table, the menu ~casual-org-table-fedit-tmenu~ can
be raised to provide assistance with table references.
@@ -142,6 +181,7 @@ When editing formulas for a table, the menu
~casual-org-table-fedit-tmenu~ can b
:PROPERTIES:
:CUSTOM_ID: org-usage-block
:END:
+#+CINDEX: Org Block
When the point is in a block ([[info:org#Blocks][org#Blocks]]) the following
variant is displayed in ~casual-org-tmenu~:
@@ -156,28 +196,88 @@ Numerous different block types are recognized by
~casual-org-tmenu~. They are:
- Center (~#+BEGIN_CENTER~)
- Verse (~#+BEGIN_VERSE~)
+#+TEXINFO: @subsubheading Org In Source Block
+
+If the point is within an Org source block, then the following menu variant is
shown.
+
+
+[[file:images/casual-org-in-block-src-screenshot.png]]
+
+
*** Org Keyword
:PROPERTIES:
:CUSTOM_ID: org-usage-keyword
:END:
+#+CINDEX: Org Keyword
When the point is in an Org keyword the following variant is displayed in
~casual-org-tmenu~:
+
[[file:images/casual-org-keyword-screenshot.png]]
+*** Org Property Drawer
+:PROPERTIES:
+:CUSTOM_ID: org-usage-property-drawer
+:END:
+#+CINDEX: Org Property Drawer
+
+This menu variant of ~casual-org-tmenu~ is shown when the point is on a
property drawer ([[info:org#Properties and Columns][org#Properties and
Columns]]).
+
+With this menu, one can add a property.
+
+[[file:images/casual-org-property-drawer-screenshot.png]]
+
+
+*** Org Property
+:PROPERTIES:
+:CUSTOM_ID: org-usage-property
+:END:
+#+CINDEX: Org Property
+
+This menu variant of ~casual-org-tmenu~ is shown when the point is on a
property ([[info:org#Property Syntax][org#Property Syntax]]).
+
+With this menu, one can either add another property or perform an action on
the current property.
+
+[[file:images/casual-org-property-screenshot.png]]
+
+
+*** Org Drawer
+:PROPERTIES:
+:CUSTOM_ID: org-usage-drawer
+:END:
+#+CINDEX: Org Drawer
+
+This menu variant of ~casual-org-tmenu~ is shown when the point is on a drawer
[[info:org#Drawers][(org#Drawers]]).
+
+[[file:images/casual-org-drawer-screenshot.png]]
+
+
+*** Org Clock Log
+:PROPERTIES:
+:CUSTOM_ID: org-usage-clock-log
+:END:
+#+CINDEX: Org Clock Log
+
+This menu variant of ~casual-org-tmenu~ is shown when the point is on a clock
log ([[info:org#Clocking commands][org#Clocking commands]]).
+
+[[file:images/casual-org-clock-log-screenshot.png]]
+Two command sections are provided:
+
+- Clock :: Clock in or out of the current item.
+- Timestamp :: If the point is on an Org timestamp, commands to adjust up or
down a timestamp component (e.g. year, month, day) is provided.
+
+
*** Org Settings
:PROPERTIES:
:CUSTOM_ID: org-usage-settings
:END:
+#+CINDEX: Org Settings
Use the Casual Org Settings menu to gain access to commonly customized Org
settings.
[[file:images/casual-org-settings-screenshot.png]]
-*** Org Unicode Symbol Support
-:PROPERTIES:
-:CUSTOM_ID: org-unicode-symbol-support
-:END:
-By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
org will use Unicode symbols as appropriate in its menus.
+#+TEXINFO: @subsubheading Org Unicode Symbol Support
+By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
Org will use Unicode symbols as appropriate in its menus.
diff --git a/docs/re-builder.org b/docs/re-builder.org
index 8b70460291..ac5dbc807a 100644
--- a/docs/re-builder.org
+++ b/docs/re-builder.org
@@ -1,8 +1,8 @@
* RE-Builder
#+CINDEX: RE-Builder
-#+VINDEX: casual-re-builder-tmenu
+#+VINDEX: casual-re-builder
-Casual RE-Builder is a user interface for RE-Builder. Its top level library is
~casual-re-builder~.
+Casual RE-Builder (library: ~casual-re-builder~) is a user interface for
RE-Builder.
[[file:images/casual-re-builder-screenshot.png]]
@@ -22,6 +22,7 @@ The main menu for Casual RE-Builder is
~casual-re-builder-tmenu~. Bind this menu
** RE-Builder Usage
#+CINDEX: RE-Builder Usage
+#+VINDEX: casual-re-builder-tmenu
[[file:images/casual-re-builder-screenshot.png]]
@@ -35,7 +36,7 @@ If multiple sub-expressions are in the regexp pattern, then
they can be observed
If the regexp pattern entered in "✳︎RE-Builder✳︎" finds multiple matches, a
match can be navigated to via the “{{{kbd(p)}}} Previous” and “{{{kbd(n)}}}
Next” menu items.
-#+TEXINFO: @subheading Exporting the Regexp Pattern
+#+TEXINFO: @subsubheading Exporting the Regexp Pattern
Once a desired regexp pattern is defined, there are two menu items that can be
used to export (copy) it to the kill-ring for further use.
- “{{{kbd(w)}}} Interactive” will copy the regexp to the kill-ring so that it
can be yanked in an interactive command that requires a regexp (e.g.
~query-replace-regexp~).
@@ -48,20 +49,20 @@ Once a desired regexp pattern is defined, there are two
menu items that can be u
- ❗️At current this is an experimental feature. The regexp exported from
RE-Builder may not work. If so please report an
[[https://github.com/kickingvegas/casual-re-builder/issues][issue]] describing
the desired regexp and the target text.
- This can only be used when the regexp syntax is set to ~string~.
-#+TEXINFO: @subheading Regexp Syntax Help
+#+TEXINFO: @subsubheading Regexp Syntax Help
The menu item {{{kbd(i)}}} will invoke the Info page for regexp syntax with
respect to the current syntax type.
-#+TEXINFO: @subheading Quitting RE-Builder
+#+TEXINFO: @subsubheading Quitting RE-Builder
Select “{{{kbd(q)}}} Quit” to exit the RE-Builder tool.
-#+TEXINFO: @subheading RE-Builder Settings
+#+TEXINFO: @subsubheading RE-Builder Settings
#+VINDEX: casual-re-builder-settings-tmenu
The menu ~casual-re-builder-settings-tmenu~ provides access to different
RE-Builder settings.
# TODO: Insert screenshot
-#+TEXINFO: @subheading RE-Builder Unicode Symbol Support
+#+TEXINFO: @subsubheading RE-Builder Unicode Symbol Support
By enabling “{{{kbd(u)}}} Use Unicode Symbols” from the Settings menu, Casual
RE-Builder will use Unicode symbols as appropriate in its menus.
For more info on using Unicode symbols, please refer to [[#ux-conventions][UX
Conventions]].
diff --git a/docs/timezone.org b/docs/timezone.org
index 64e4a4dfba..3f905712a4 100644
--- a/docs/timezone.org
+++ b/docs/timezone.org
@@ -34,7 +34,7 @@ The main menu for Casual Timezone (~casual-timezone-tmenu~)
offers the following
- ~casual-timezone-planner~ (menu binding: ~z~) will generate a table
comparing hours between the local and a remote time zone on a certain date.
Multiple remote time zones can be specified.
-#+TEXINFO: @subheading Timezone Planner
+#+TEXINFO: @subsubheading Timezone Planner
#+VINDEX: casual-timezone-planner
[[file:images/casual-timezone-planner-screenshot.png]]
diff --git a/lisp/casual-org-utils.el b/lisp/casual-org-utils.el
index e8d18e6c5e..53e9f3eac1 100644
--- a/lisp/casual-org-utils.el
+++ b/lisp/casual-org-utils.el
@@ -41,6 +41,12 @@
(:end-of-line-table . '("⇥" "End"))
(:beginning-of-field . '("⇤" "Begin"))
(:end-of-field . '("⇥" "End"))
+ (:first-row . '("⤒ First" "First"))
+ (:last-row . '("⤓ Last" "Last"))
+ (:first-column . '("⇤ First" "First"))
+ (:last-column . '("⇥ Last" "Last"))
+ (:row . '("═" "Row"))
+ (:column . '("║" "Column"))
(:beginning-of-buffer . '("⇱" "Beginning"))
(:end-of-buffer . '("⇲" "End"))
(:info-functions . '("ⓘ 𝑓(𝑥)" "Info f(x)"))
@@ -65,6 +71,16 @@ is non-nil, then the Unicode symbol is returned, otherwise a
plain ASCII-range string."
(casual-lib-unicode-db-get key casual-org-unicode-db))
+;; (defalias 'cc/insert-org-keyword
+;; (kmacro "C-a # + M-x c o m p l e t e - s y m b o l <return>"))
+
+(defun casual-org-insert-keyword ()
+ "Insert Org keyword in buffer with completion."
+ (interactive)
+ (beginning-of-line)
+ (insert "#+")
+ (call-interactively #'complete-symbol))
+
(defun casual-org-info ()
"Open Info for Org manual based on context.
@@ -93,7 +109,27 @@ level of the Org manual is opened."
(t "(org) Top"))))
(info node)))
-;; TODO: not clear why this is need to get the Transient invocation to work.
+(defun casual-org-table-info-references ()
+ "Info for Org table references."
+ (interactive)
+ (info "(org) References" ))
+
+(defun casual-org-table-info-formula-syntax ()
+ "Info for Org table formula syntax."
+ (interactive)
+ (info "(org) Formula syntax for Calc"))
+
+(defun casual-org-table-info-calc-functions ()
+ "Info for Calc functions."
+ (interactive)
+ (info "(calc) Function Index"))
+
+(defun casual-org-table-info-width-alignment ()
+ "Info for Org table width and alignment."
+ (interactive)
+ (info "(org) Column Width and Alignment"))
+
+;; TODO: not clear why this is needed to get the Transient invocation to work.
(defun casual-org-deactivate-mark ()
"Deactivate mark using function `deactivate-mark'."
(interactive)
@@ -117,6 +153,11 @@ which is done with `org-ctrl-c-ctrl-c'."
(interactive)
(org-ctrl-c-ctrl-c '(4)))
+(defun casual-org-insert-checkbox ()
+ "Insert Org checkbox using `org-insert-item'."
+ (interactive)
+ (org-insert-item t))
+
;; -------------------------------------------------------------------
;; Org Block & Table Functions
@@ -131,6 +172,65 @@ which is done with `org-ctrl-c-ctrl-c'."
(org-end-of-line)
(insert (format "\n#+NAME: %s" name)))
+(defun casual-org-table--insert-calc-formula (fn)
+ "Base insert formula for inserting a Calc function FN."
+ (let ((formula (format "%s()" fn)))
+ (insert formula)
+ (backward-char 1)))
+
+;; TODO: Maybe support region input
+(defun casual-org-table-insert-calc-sum ()
+ "Insert into buffer Calc vector sum ‘vsum()’ function."
+ (interactive)
+ (let ((fn "vsum"))
+ (casual-org-table--insert-calc-formula fn)))
+
+(defun casual-org-table-insert-calc-mean ()
+ "Insert into buffer Calc vector mean ‘vmean()’ function."
+ (interactive)
+ (let ((fn "vmean"))
+ (casual-org-table--insert-calc-formula fn)))
+
+(defun casual-org-table-insert-calc-max ()
+ "Insert into buffer Calc vector max ‘vmax()’ function."
+ (interactive)
+ (let ((fn "vmax"))
+ (casual-org-table--insert-calc-formula fn)))
+
+(defun casual-org-table-insert-calc-min ()
+ "Insert into buffer Calc vector min ‘vmin()’ function."
+ (interactive)
+ (let ((fn "vmin"))
+ (casual-org-table--insert-calc-formula fn)))
+
+(defun casual-org-table--insert-column-alignment (align)
+ "Base insert Org table alignment specifier ALIGN."
+ (let ((formula (format "<%s>" align)))
+ (insert formula)))
+
+(defun casual-org-table-insert-align-left ()
+ "Insert into buffer an Org table left alignment specifier ‘<l>’.
+
+This command should only be invoked in an empty table cell."
+ (interactive)
+ (let ((fn "l"))
+ (casual-org-table--insert-column-alignment fn)))
+
+(defun casual-org-table-insert-align-center ()
+ "Insert into buffer an Org table center alignment specifier ‘<c>’.
+
+This command should only be invoked in an empty table cell."
+ (interactive)
+ (let ((fn "c"))
+ (casual-org-table--insert-column-alignment fn)))
+
+(defun casual-org-table-insert-align-right ()
+ "Insert into buffer an Org table right alignment specifier ‘<r>’.
+
+This command should only be invoked in an empty table cell."
+ (interactive)
+ (let ((fn "r"))
+ (casual-org-table--insert-column-alignment fn)))
;; -------------------------------------------------------------------
@@ -466,15 +566,6 @@ See `casual-org-table--range' for more on RANGE object."
(interactive)
(insert "@I..@II"))
-(defun casual-org-table-info-references ()
- "Info for Org table references."
- (interactive) (info "(org) References" ))
-
-(defun casual-org-table-info-calc-functions ()
- "Info for Calc functions."
- (interactive)
- (info "(calc) Function Index"))
-
;; -------------------------------------------------------------------
;; Transients
@@ -612,16 +703,28 @@ See `casual-org-table--range' for more on RANGE object."
:description casual-org--item-description
["Item"
+ :description (lambda () (if (org-at-item-checkbox-p)
+ "Checkbox"
+ "Item"))
:pad-keys t
:inapt-if casual-lib-buffer-read-only-p
- ("a" "Add" org-insert-item :transient t)
- ("c" "Cycle" org-cycle-list-bullet :transient t)
- ("b" "Toggle Checkbox" casual-org-toggle-list-to-checkbox :transient t)]
+ ("a" "Add" org-insert-item
+ :if-not org-at-item-checkbox-p
+ :transient t)
+ ("a" "Add" casual-org-insert-checkbox
+ :if org-at-item-checkbox-p
+ :transient t)
+ ("b" "Toggle Checkbox" casual-org-toggle-list-to-checkbox
+ :description (lambda () (if (org-at-item-checkbox-p)
+ "To Item"
+ "To Checkbox"))
+ :transient t)
+ ("c" "Cycle" org-cycle-list-bullet :transient t)]
- ["Checkbox"
+ [""
:pad-keys t
- :inapt-if-not (lambda () (and (org-at-item-checkbox-p)
- (not (casual-lib-buffer-read-only-p))))
+ :if org-at-item-checkbox-p
+ :inapt-if casual-lib-buffer-read-only-p
("C-c" "Toggle" org-ctrl-c-ctrl-c
:transient nil)
("-" "In Progress" casual-org-checkbox-in-progress :transient nil)]
@@ -671,8 +774,8 @@ See `casual-org-table--range' for more on RANGE object."
(org-in-src-block-p)
(org-at-property-p)))
("b" "Block…" org-insert-structure-template)
- ("d" "Drawer…" org-insert-drawer)]
-
+ ("d" "Drawer…" org-insert-drawer)
+ ("k" "Keyword…" casual-org-insert-keyword)]
;; !!!: org-in-src-block-p
[:if org-in-src-block-p
@@ -840,26 +943,60 @@ See `casual-org-table--range' for more on RANGE object."
:inapt-if-not org-at-table-p
["Insert"
:inapt-if casual-lib-buffer-read-only-p
- ("r" "Row" org-table-insert-row :transient t)
- ("c" "Column" org-table-insert-column :transient t)
+ ("r" "Row" org-table-insert-row
+ :description (lambda () (casual-org-unicode-get :row))
+ :transient t)
+ ("c" "Column" org-table-insert-column
+ :description (lambda () (casual-org-unicode-get :column))
+ :transient t)
("-" "H Line" org-table-insert-hline :transient t)]
["Delete"
:inapt-if casual-lib-buffer-read-only-p
- ("DEL" "Row" org-table-kill-row :transient t)
- ("M-DEL" "Column" org-table-delete-column :transient t)]
+ ("DEL" "Row" org-table-kill-row
+ :description (lambda () (casual-org-unicode-get :row))
+ :transient t)
+ ("M-DEL" "Column" org-table-delete-column
+ :description (lambda () (casual-org-unicode-get :column))
+ :transient t)]
["Move"
:inapt-if casual-lib-buffer-read-only-p
- ("M-p" "Row ↑" org-table-move-row-up :transient t)
- ("M-n" "Row ↓" org-table-move-row-down :transient t)]
+ ("M-b" "Column ←" org-table-move-column-left
+ :description (lambda () (format "%s %s"
+ (casual-org-unicode-get :column)
+ (casual-org-unicode-get :left)))
+ :transient t)]
[""
:inapt-if casual-lib-buffer-read-only-p
- ("M-b" "Column ←" org-table-move-column-left :transient t)
- ("M-f" "Column →" org-table-move-column-right :transient t)]]
+ ("M-p" "Row ↑" org-table-move-row-up
+ :description (lambda () (format "%s %s"
+ (casual-org-unicode-get :row)
+ (casual-org-unicode-get :up)))
+ :transient t)
+ ("M-n" "Row ↓" org-table-move-row-down
+ :description (lambda () (format "%s %s"
+ (casual-org-unicode-get :row)
+ (casual-org-unicode-get :down)))
+ :transient t)]
- ;; TODO: Support <r> <c> <l> (org) Column Width and Alignment
+ [""
+ :inapt-if casual-lib-buffer-read-only-p
+ ("M-f" "Column →" org-table-move-column-right
+ :description (lambda () (format "%s %s"
+ (casual-org-unicode-get :column)
+ (casual-org-unicode-get :right)))
+ :transient t)]]
+
+ ["Align"
+ :class transient-row
+ ("al" "Left" casual-org-table-insert-align-left)
+ ("ac" "Center" casual-org-table-insert-align-center)
+ ("ar" "Right" casual-org-table-insert-align-right)
+ ("I" "Width & Alignment" casual-org-table-info-width-alignment
+ :description (lambda () (format "%s Width & Align"
+ (casual-org-unicode-get :info))))]
["Field"
[("M-a" "⇤" org-table-beginning-of-field :transient t)]
diff --git a/lisp/casual-org.el b/lisp/casual-org.el
index bc195be88f..f2d3853a9d 100644
--- a/lisp/casual-org.el
+++ b/lisp/casual-org.el
@@ -93,24 +93,33 @@ This menu provides commands for inserting formula
references."
["Org Table Formula Edit"
:pad-keys t
["Row"
- ("@<" "First Row" casual-org-table-fedit-first-row-reference)
- ("@>" "Last Row" casual-org-table-fedit-last-row-reference)]
+ ("@<" "⤒ First" casual-org-table-fedit-first-row-reference
+ :description (lambda () (casual-org-unicode-get :first-row)))
+ ("@>" "⤓ Last" casual-org-table-fedit-last-row-reference
+ :description (lambda () (casual-org-unicode-get :last-row)))]
["Column"
- ("$<" "First" casual-org-table-fedit-first-column-reference)
- ("$>" "Last" casual-org-table-fedit-last-column-reference)]
+ ("$<" "⇤ First" casual-org-table-fedit-first-column-reference
+ :description (lambda () (casual-org-unicode-get :first-column)))
+ ("$>" "⇥ Last" casual-org-table-fedit-last-column-reference
+ :description (lambda () (casual-org-unicode-get :last-column)))]
- ["---"
+ ["H Line (-)"
("1" "First (@I)" casual-org-table-fedit-first-hline-reference)
("2" "Second (@II)" casual-org-table-fedit-second-hline-reference)
("r" "Range (@I..@II)" casual-org-table-fedit-hline-range-reference)]
- ;; TODO: support format specifiers (org) Formula syntax for Calc
-
- [""
- ("I" "ⓘ References" casual-org-table-info-references
- :description (lambda () (format "%s References"
- (casual-org-unicode-get :info))))]]
+ ["Vector"
+ ("s" "sum" casual-org-table-insert-calc-sum)
+ ("m" "mean" casual-org-table-insert-calc-mean)
+ ("a" "max" casual-org-table-insert-calc-max)
+ ("z" "min" casual-org-table-insert-calc-min)]
+
+ ["Info"
+ :description (lambda () (casual-org-unicode-get :info))
+ ("F" "Formula Syntax" casual-org-table-info-formula-syntax)
+ ("R" "References" casual-org-table-info-references)
+ ("f" "𝑓(𝑥)" casual-org-table-info-calc-functions)]]
casual-lib-navigation-group-with-undo-and-return)
diff --git a/tests/test-casual-org-utils.el b/tests/test-casual-org-utils.el
index d22f60dda4..e1ed67107b 100644
--- a/tests/test-casual-org-utils.el
+++ b/tests/test-casual-org-utils.el
@@ -30,12 +30,67 @@
(ert-deftest test-casual-org-unicode-get ()
(let ((casual-lib-use-unicode nil))
(should (string-equal (casual-org-unicode-get :previous) "Previous"))
- (should (string-equal (casual-org-unicode-get :next) "Next")))
+ (should (string-equal (casual-org-unicode-get :next) "Next"))
+ (should (string-equal (casual-org-unicode-get :cycle) "Cycle"))
+ (should (string-equal (casual-org-unicode-get :shift-cycle) "S-Cycle"))
+ (should (string-equal (casual-org-unicode-get :up) "Up"))
+ (should (string-equal (casual-org-unicode-get :down) "Down"))
+ (should (string-equal (casual-org-unicode-get :left) "Left"))
+ (should (string-equal (casual-org-unicode-get :right) "Right"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-line) "BoL"))
+ (should (string-equal (casual-org-unicode-get :end-of-line) "EoL"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-line-table)
"Begin"))
+ (should (string-equal (casual-org-unicode-get :end-of-line-table) "End"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-field)
"Begin"))
+ (should (string-equal (casual-org-unicode-get :end-of-field) "End"))
+ (should (string-equal (casual-org-unicode-get :first-row) "First"))
+ (should (string-equal (casual-org-unicode-get :last-row) "Last"))
+ (should (string-equal (casual-org-unicode-get :first-column) "First"))
+ (should (string-equal (casual-org-unicode-get :last-column) "Last"))
+ (should (string-equal (casual-org-unicode-get :row) "Row"))
+ (should (string-equal (casual-org-unicode-get :column) "Column"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-buffer)
"Beginning"))
+ (should (string-equal (casual-org-unicode-get :end-of-buffer) "End"))
+ (should (string-equal (casual-org-unicode-get :info-functions) "Info
f(x)"))
+ (should (string-equal (casual-org-unicode-get :info) "Info"))
+ (should (string-equal (casual-org-unicode-get :clock-in) "In"))
+ (should (string-equal (casual-org-unicode-get :clock-out) "Out"))
+ (should (string-equal (casual-org-unicode-get :clock-report) "Report"))
+ (should (string-equal (casual-org-unicode-get :paragraph) "Paragraph"))
+ (should (string-equal (casual-org-unicode-get :update) "Update"))
+ (should (string-equal (casual-org-unicode-get :kill) "Close")))
(let ((casual-lib-use-unicode t))
(should (string-equal (casual-org-unicode-get :previous) "↑"))
(should (string-equal (casual-org-unicode-get :next) "↓"))
- ))
+ (should (string-equal (casual-org-unicode-get :cycle) "⥅"))
+ (should (string-equal (casual-org-unicode-get :shift-cycle) "⥆"))
+ (should (string-equal (casual-org-unicode-get :up) "↑"))
+ (should (string-equal (casual-org-unicode-get :down) "↓"))
+ (should (string-equal (casual-org-unicode-get :left) "←"))
+ (should (string-equal (casual-org-unicode-get :right) "→"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-line) "⇤"))
+ (should (string-equal (casual-org-unicode-get :end-of-line) "⇥"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-line-table)
"⇤"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-field) "⇤"))
+ (should (string-equal (casual-org-unicode-get :end-of-line-table) "⇥"))
+ (should (string-equal (casual-org-unicode-get :end-of-field) "⇥"))
+ (should (string-equal (casual-org-unicode-get :first-row) "⤒ First"))
+ (should (string-equal (casual-org-unicode-get :last-row) "⤓ Last"))
+ (should (string-equal (casual-org-unicode-get :first-column) "⇤ First"))
+ (should (string-equal (casual-org-unicode-get :last-column) "⇥ Last"))
+ (should (string-equal (casual-org-unicode-get :row) "═"))
+ (should (string-equal (casual-org-unicode-get :column) "║"))
+ (should (string-equal (casual-org-unicode-get :beginning-of-buffer) "⇱"))
+ (should (string-equal (casual-org-unicode-get :end-of-buffer) "⇲"))
+ (should (string-equal (casual-org-unicode-get :info-functions) "ⓘ 𝑓(𝑥)"))
+ (should (string-equal (casual-org-unicode-get :info) "ⓘ"))
+ (should (string-equal (casual-org-unicode-get :clock-in) "🕘 in"))
+ (should (string-equal (casual-org-unicode-get :clock-out) "🕔 out"))
+ (should (string-equal (casual-org-unicode-get :clock-report) "🕒 🧾"))
+ (should (string-equal (casual-org-unicode-get :paragraph) "¶"))
+ (should (string-equal (casual-org-unicode-get :update) "⟳"))
+ (should (string-equal (casual-org-unicode-get :kill) "×"))))
(provide 'test-casual-org-utils)
diff --git a/tests/test-casual-org.el b/tests/test-casual-org.el
index 47bee275dc..edf0eecaff 100644
--- a/tests/test-casual-org.el
+++ b/tests/test-casual-org.el
@@ -83,39 +83,38 @@
(cl-letf ((casualt-mock #'org-insert-item)
(casualt-mock #'org-cycle-list-bullet)
(casualt-mock #'casual-org-toggle-list-to-checkbox)
-
-
(casualt-mock #'casual-org-settings-tmenu)
(casualt-mock #'casual-org-info)
(casualt-mock #'transient-quit-all))
(let ((test-vectors
- '(
- (:binding "a" :command org-insert-item)
- (:binding "c" :command org-cycle-list-bullet)
+ '((:binding "a" :command org-insert-item)
(:binding "b" :command casual-org-toggle-list-to-checkbox)
-
-
+ (:binding "c" :command org-cycle-list-bullet)
(:binding "," :command casual-org-settings-tmenu)
(:binding "I" :command casual-org-info)
- (:binding "RET" :command transient-quit-all)
- )))
+ (:binding "RET" :command transient-quit-all))))
(casualt-suffix-testcase-runner test-vectors
#'casual-org-tmenu
'(lambda () (random 5000)))))
(casualt-org-breakdown))
-
(ert-deftest test-casual-org-tmenu-item-checkbox ()
(casualt-org-setup)
(search-forward "- [ ] task 1" nil t)
(cl-letf ((casualt-mock #'org-ctrl-c-ctrl-c)
- (casualt-mock #'casual-org-checkbox-in-progress))
+ (casualt-mock #'casual-org-checkbox-in-progress)
+ (casualt-mock #'casual-org-insert-checkbox)
+ (casualt-mock #'org-cycle-list-bullet)
+ (casualt-mock #'casual-org-toggle-list-to-checkbox))
(let ((test-vectors
- '((:binding "C-c" :command org-ctrl-c-ctrl-c)
+ '((:binding "a" :command casual-org-insert-checkbox)
+ (:binding "b" :command casual-org-toggle-list-to-checkbox)
+ (:binding "c" :command org-cycle-list-bullet)
+ (:binding "C-c" :command org-ctrl-c-ctrl-c)
(:binding "-" :command casual-org-checkbox-in-progress))))
(casualt-suffix-testcase-runner test-vectors
@@ -123,7 +122,6 @@
'(lambda () (random 5000)))))
(casualt-org-breakdown))
-
(ert-deftest test-casual-org-tmenu-TBLFM ()
(casualt-org-setup)
(search-forward "#+TBLFM" nil t)
@@ -147,13 +145,16 @@
(cl-letf ((casualt-mock #'org-ctrl-c-star)
(casualt-mock #'org-ctrl-c-minus)
(casualt-mock #'org-insert-structure-template)
- (casualt-mock #'org-insert-drawer))
+ (casualt-mock #'org-insert-drawer)
+ (casualt-mock #'casual-org-insert-keyword)
+ )
(let ((test-vectors
'((:binding "*" :command org-ctrl-c-star)
(:binding "-" :command org-ctrl-c-minus)
(:binding "bc" :command org-insert-structure-template)
- (:binding "d" :command org-insert-drawer))))
+ (:binding "d" :command org-insert-drawer)
+ (:binding "k" :command casual-org-insert-keyword))))
(casualt-suffix-testcase-runner test-vectors
#'casual-org-tmenu
@@ -450,7 +451,11 @@
(casualt-mock #'org-table-move-row-up)
(casualt-mock #'org-table-move-row-down)
(casualt-mock #'org-table-move-column-left)
- (casualt-mock #'org-table-move-column-right))
+ (casualt-mock #'org-table-move-column-right)
+ (casualt-mock #'casual-org-table-insert-align-left)
+ (casualt-mock #'casual-org-table-insert-align-center)
+ (casualt-mock #'casual-org-table-insert-align-right)
+ (casualt-mock #'casual-org-table-info-width-alignment))
(let ((test-vectors
'((:binding "M-a" :command org-table-beginning-of-field)
@@ -463,7 +468,11 @@
(:binding "M-p" :command org-table-move-row-up)
(:binding "M-n" :command org-table-move-row-down)
(:binding "M-b" :command org-table-move-column-left)
- (:binding "M-f" :command org-table-move-column-right))))
+ (:binding "M-f" :command org-table-move-column-right)
+ (:binding "al" :command casual-org-table-insert-align-left)
+ (:binding "ac" :command casual-org-table-insert-align-center)
+ (:binding "ar" :command casual-org-table-insert-align-right)
+ (:binding "I" :command casual-org-table-info-width-alignment))))
(casualt-suffix-testcase-runner test-vectors
#'casual-org-table-structure-tmenu
@@ -481,6 +490,12 @@
(casualt-mock #'casual-org-table-fedit-second-hline-reference)
(casualt-mock #'casual-org-table-fedit-hline-range-reference)
(casualt-mock #'casual-org-table-info-references)
+ (casualt-mock #'casual-org-table-info-formula-syntax)
+ (casualt-mock #'casual-org-table-info-calc-functions)
+ (casualt-mock #'casual-org-table-insert-calc-sum)
+ (casualt-mock #'casual-org-table-insert-calc-mean)
+ (casualt-mock #'casual-org-table-insert-calc-max)
+ (casualt-mock #'casual-org-table-insert-calc-min)
(casualt-mock #'undo)
(casualt-mock #'transient-quit-all))
@@ -492,7 +507,13 @@
(:binding "1" :command
casual-org-table-fedit-first-hline-reference)
(:binding "2" :command
casual-org-table-fedit-second-hline-reference)
(:binding "r" :command
casual-org-table-fedit-hline-range-reference)
- (:binding "I" :command casual-org-table-info-references)
+ (:binding "f" :command casual-org-table-info-calc-functions)
+ (:binding "s" :command casual-org-table-insert-calc-sum)
+ (:binding "m" :command casual-org-table-insert-calc-mean)
+ (:binding "a" :command casual-org-table-insert-calc-max)
+ (:binding "z" :command casual-org-table-insert-calc-min)
+ (:binding "R" :command casual-org-table-info-references)
+ (:binding "F" :command casual-org-table-info-formula-syntax)
(:binding "U" :command undo :transient t)
(:binding "RET" :command transient-quit-all))))
diff --git a/tests/test-casual-org.org b/tests/test-casual-org.org
index ae422969a4..42d563eb37 100644
--- a/tests/test-casual-org.org
+++ b/tests/test-casual-org.org
@@ -24,7 +24,7 @@ This is body text.
| 4 | 12 |
|---+-----|
| | 30 |
-#+TBLFM: $2=$1 *3::@6$2=vsum(@I..@II)
+#+TBLFM: $2=$1 * 3::@6$2=vsum(@I..@II)
*** Item Test