File: dcl-mode.el.html
DCL mode is a package for editing
[DCL](https://en.wikipedia.org/wiki/DIGITAL_Command_Language)
command files.
It helps you indent lines, add leading $ and trailing -, move
around in the code and insert lexical functions.
Type C-h m when you are editing a .COM file to get more
information about this mode.
Support for templates is based on the built-in tempo.el. I recommend setting (setq tempo-interactive t). This will make tempo prompt you for values to put in the blank spots in the templates.
There is limited support for imenu.
Any feedback will be welcomed. If you write functions for
dcl-calc-command-indent-function or dcl-calc-cont-indent-function,
please send them to the maintainer.
Ideas for improvement:
* Better font-lock support.
* Change meaning of left margin when dcl-tab-always-indent is nil.
Consider the following line (_ is the cursor):
$ label: _ command
Pressing tab with the cursor at the underline now inserts a tab.
This should be part of the left margin and pressing tab should indent
the line.
* Make M-LFD work properly with comments in all cases. Now it only
works on comment-only lines. But what is "properly"? New rules for
indenting comments?
* Even smarter indentation of continuation lines.
* A delete-indentation function (M-^) that joins continued lines,
including lines with end line comments?
* Handle DECK/EOD.
* indent list commands: C-M-q, C-u TAB. What is a list in DCL? One
complete command line? A block? A subroutine?
Defined variables (34)
dcl-basic-offset | Number of columns to indent a block in DCL. |
dcl-block-begin-regexp | Regexp describing a command that begins an indented block in DCL. |
dcl-block-end-regexp | Regexp describing a command that ends an indented block in DCL. |
dcl-calc-command-indent-function | Function to calculate indentation for a command line in DCL. |
dcl-calc-cont-indent-function | Function to calculate indentation for a continuation line. |
dcl-cmd-r | Regular expression describing a DCL command line up to a trailing comment. |
dcl-command-regexp | Regular expression describing a DCL command line. |
dcl-comment-line-regexp | Regexp describing the start of a comment line in DCL. |
dcl-continuation-offset | Number of columns to indent a continuation line in DCL. |
dcl-electric-characters | Non-nil means reindent immediately when a label, ELSE or ENDIF is inserted. |
dcl-electric-reindent-regexps | Regexps that can trigger an electric reindent. |
dcl-font-lock-defaults | Font lock specification for DCL mode. |
dcl-font-lock-keywords | Font lock keyword specification for DCL mode. |
dcl-imenu-generic-expression | Default imenu generic expression for DCL. |
dcl-imenu-label-call | Imenu menu title for sub-listing with CALL statements. |
dcl-imenu-label-gosub | Imenu menu title for sub-listing with GOSUB statements. |
dcl-imenu-label-goto | Imenu menu title for sub-listing with GOTO statements. |
dcl-imenu-label-labels | Imenu menu title for sub-listing with label names. |
dcl-label-r | Regular expression describing a label. |
dcl-margin-label-offset | Number of columns to indent a margin label in DCL. |
dcl-margin-offset | Indentation for the first command line in DCL. |
dcl-mode-abbrev-table | Abbrev table for ‘dcl-mode’. |
dcl-mode-hook | Hook called by ‘dcl-mode’. |
dcl-mode-map | Keymap used in DCL-mode buffers. |
dcl-mode-menu | Menu for DCL-mode buffers. |
dcl-mode-syntax-table | Syntax table used in DCL-buffers. |
dcl-option-alist | Options and default values for ‘dcl-set-option’. |
dcl-option-history | The history list for ‘dcl-set-option’. |
dcl-tab-always-indent | Controls the operation of the TAB key in DCL mode. |
dcl-tempo-comma | Text to insert when a comma is needed in a template, in DCL mode. |
dcl-tempo-left-paren | Text to insert when a left parenthesis is needed in a template in DCL. |
dcl-tempo-right-paren | Text to insert when a right parenthesis is needed in a template in DCL. |
dcl-tempo-tags | Tempo tags for DCL mode. |
dcl-ws-r | Regular expression describing white space in a DCL command line. |