Lugaru's Epsilon
Programmer's
Editor 14.04

Context:
Epsilon User's Manual and Reference
   Changes from Older Versions
      Major New Features in Epsilon 14
         . . .
         New Default Values and Bindings in Epsilon 14
         File Variables in Epsilon 14
         Language Mode Improvements in Epsilon 14
         Other Enhancements in Epsilon 14
         Unicode Support in Epsilon 14
      EEL Programming Changes in Epsilon 14
      . . .

Previous   Up    Next
File Variables in Epsilon 14  Changes from Older Versions   Other Enhancements in Epsilon 14


Epsilon User's Manual and Reference > Changes from Older Versions > Major New Features in Epsilon 14 >

Language Mode Improvements in Epsilon 14

When no region is highlighted, comment-region now operates on the current line.

The new comment-region-options variable has bits that control how comment-region behaves: whether comments should be indented, whether indented comments should be recognized, and if blank lines should be skipped. Any mode can define a variable that includes its name, such as python-comment-region-options, and comment-region will use those settings in place of comment-region-options.

The new NSIS mode supports editing .nsi files, adding variables auto-show-nsis-delimiters and nsis-auto-show-delim-chars.

A new mode supports the R language, adding variables compile-rmode-cmd, rmode-indent, auto-show-rmode-delimiters, rmode-auto-show-delim-chars, rmode-indent-to-comment, and rmode-tab-override.

C mode now works with more varieties of JavaScript's syntax for defining functions, and its syntax highlighting now supports JavaScript's template literals (backquote-surrounded and with interpolated expressions).

The new c-align-inherit variable controls how much extra indentation lines specifying C++ inheritance (those following a line ending in : in a multi-line function header) should receive. A value of -1 indents it like any other continuation line.

The tag-options variable's new bit 2 (now the default) makes the select-tag-file command look up the directory hierarchy from the current file when suggesting a new tag file.

Epsilon now tries to auto-detect when a here document in Perl or PHP contains HTML code, and color it appropriately. New variables perl-heredoc-syntax, php-heredoc-syntax, and shell-heredoc-syntax configure this. For each of Perl, PHP, and Shell mode, you can make Epsilon assume here documents are always HTML (or TeX), let Epsilon try to detect the right language, or only color here blocks as HTML or TeX when the here document's terminating string ends in ".html" or ".tex" (as in previous versions).

In Makefiles, Alt-i (list-make-preprocessor-conditionals) now recognizes both Gnu Make and Microsoft Nmake syntax for conditionals on all systems, instead of choosing which one to recognize based on whether the Windows version of Epsilon was running or not.

Python mode now colors function names with a specific color, as in most other modes.

TeX mode's feature for synchronizing with a DVI previewer now also works with PDF files. The manual explains how to configure Epsilon and a suitable PDF program so you can Ctrl-click on TeX source and jump to the resulting PDF outbput, and vice versa, using SyncTeX with the jump-to-dvi command, which has also been enhanced to handle mainfile declarations. And TeX's matching delimiter highlighting now skips over delimiters inside/outside comments or math mode, depending on whether the original delimiter was inside such blocks.

Many Shift-F1 context help default definitions were changed to search the web instead of looking for installed help files. Such definitions may now use two new formats to perform a site-specific web search. These shorthand codes use the new context-help-site-search and context-help-site-search-lucky variables. Code in .m and .js files now use specific rules instead of the generic C mode rule. The context-help-rule-objc variable was added for the former. The commands select-help-files and search-all-help-files were removed, since they only worked with ancient help file formats.

When C mode scans for function definitions, it skips over the standard macros _ANSI_ARGS, __P, and PROTO that can appear within their signatures. You can now expand this list of macro names by modifying the new c-prototype-macro-names variable. And Epsilon now uses this list in more contexts.

C mode's c-align-open-paren variable now understands a new option. Set it to 2 to make Epsilon use alternate logic when indenting lines within a multi-line expression, depending on what character appears before the line break.

C mode no longer thinks C++14's use of ' as a digit separator in numeric constants begins a character constant, and understands C++'s raw string syntax. Tagging and displaying the current function's name work better with C++ template syntax. C, C++, and Java keywords added in more recent versions of those languages are now colored as keywords.

You can now set the c-align-contin-lines variable to -1 if you don't want to limit alignment rules by column. This value acts like an infinitely large value.

When parsing the buffer for the name of the current function, C mode assumes by default that a } right brace character found at the left margin marks the end of a top-level block (such as a function, class, or structure definition). If you must edit code formatted with the } of inner blocks also on the left margin, you can now set the new c-quick-scan variable to zero. (On very large files, this can make updating the function name shown on the mode line much slower.)

Epsilon now recognizes that it should use Shell mode for more types of files.



Previous   Up    Next
File Variables in Epsilon 14  Changes from Older Versions   Other Enhancements in Epsilon 14


Lugaru Epsilon Programmer's Editor 14.04 manual. Copyright (C) 1984, 2021 by Lugaru Software Ltd. All rights reserved.