File: opascal.el.html
To enter OPascal mode when you find an Object Pascal source file,
one must override the auto-mode-alist to associate OPascal with
.pas (and .dpr and .dpk) files. Emacs, by default, will otherwise
enter Pascal mode. For example:
(add-to-list 'auto-mode-alist
'("\\\\.\\\\(pas\\\\|dpr\\\\|dpk\\\\)\\\\'" . opascal-mode))
When you have entered OPascal mode, you may get more info by pressing C-h m.
This OPascal mode implementation is fairly tolerant of syntax errors, relying as much as possible on the indentation of the previous statement. This also makes it faster and simpler, since there is less searching for properly constructed beginnings.
Defined variables (54)
delphi-case-label-indent | Extra indentation for case statement labels. E.g. |
delphi-compound-block-indent | Extra indentation for blocks in compound statements. E.g. |
delphi-indent-level | Indentation of OPascal statements with respect to containing block. |
delphi-mode-hook | Hook run after entering OPascal mode. |
delphi-search-path | Directories to search when finding external units. |
delphi-tab-always-indents | Non-nil means ‘opascal-tab’ should always reindent the current line. |
delphi-verbose | If true then OPascal token processing progress is reported to the user. |
opascal-begin-enclosing-tokens | Tokens that a begin token indents from. |
opascal-begin-previous-tokens | Tokens that a begin token aligns with, but only if not part of a nested routine. |
opascal-binary-ops | OPascal binary operations. |
opascal-block-statements | Statements that contain multiple substatements. |
opascal-body-expr-statements | Statements that have either a single statement or a block as a body and also |
opascal-body-statements | Statements that have either a single statement or a block as a body. |
opascal-case-label-indent | Extra indentation for case statement labels. E.g. |
opascal-class-types | Class types. |
opascal-comments | Tokens that represent comments. |
opascal-composite-types | Types that contain declarations within them. |
opascal-compound-block-indent | Extra indentation for blocks in compound statements. E.g. |
opascal-debug | Non-nil if in debug mode. |
opascal-debug-buffer | Buffer to write OPascal mode debug messages to. Created on demand. |
opascal-debug-mode-map | Keystrokes for OPascal mode debug commands. |
opascal-decl-delimiters | Statements that a declaration statement should align with. |
opascal-decl-matchers | Statements that should match to declaration statement indentation. |
opascal-decl-sections | Denotes the start of a declaration section. |
opascal-directives | OPascal4 directives. |
opascal-enclosing-statements | Delimits an enclosing statement. |
opascal-end-block-statements | Statements that end block sections. |
opascal-expr-delimiters | Expression delimiter tokens. |
opascal-expr-statements | Expression statements contain expressions after their keyword. |
opascal-font-lock-defaults | OPascal mode font-lock defaults. Syntactic fontification is ignored. |
opascal-indent-level | Indentation of OPascal statements with respect to containing block. |
opascal-interface-types | Interface types. |
opascal-keywords | OPascal4 keywords. |
opascal-match-block-statements | Statements that match the indentation of the parent block. |
opascal-mid-block-statements | Statements that mark mid sections of the enclosing block. |
opascal-mode-abbrev-table | Abbrev table in use in OPascal mode buffers. |
opascal-mode-hook | Hook run after entering OPascal mode. |
opascal-mode-map | Keymap used in OPascal mode. |
opascal-mode-syntax-table | Syntax table for ‘opascal-mode’. |
opascal-parsing-progress-step | Number of chars to process before the next parsing progress report. |
opascal-previous-enclosing-statements | Delimits a previous enclosing statement. |
opascal-previous-statements | Delimits a previous statement. |
opascal-previous-terminators | Expression/statement terminators that denote a previous expression. |
opascal-progress-last-reported-point | The last point at which progress was reported. |
opascal-routine-statements | Marks the start of a routine, or routine-ish looking expression. |
opascal-scanning-progress-step | Number of chars to process before the next scanning progress report. |
opascal-search-path | Directories to search when finding external units. |
opascal-tab-always-indents | Non-nil means ‘opascal-tab’ should always reindent the current line. |
opascal-unit-sections | Unit sections within which the indent is 0. |
opascal-unit-statements | Statements indented at level 0. |
opascal-use-clauses | Statements that refer to foreign symbols. |
opascal-verbose | If true then OPascal token processing progress is reported to the user. |
opascal-visibilities | Class visibilities. |
opascal-whitespace | Tokens that are considered whitespace. |