Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Vile (text editor)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Syntax highlighting=== vile performs syntax highlighting by running a ''syntax filter'' program which parses the buffer contents. Initially this was a separate program. However, to improve performance and avoid display problems, these syntax filters usually are compiled into the editor. Most of the syntax filters are implemented with [[lex programming tool|lex]] (preferably [[Flex lexical analyser|flex]]), with the remainder in [[C (programming language)|C]] to address irregular grammars such as [[Perl]] and [[Ruby (programming language)|Ruby]]. All of the syntax filters follow the same design: * Read from an external file the color- and video-attribute information into a [[hash table|chained hash table]], * Parse the file according to the [[lexical rule]]s, * Find the corresponding color- and video-attribute information for each lexical element, and * Write a [[Markup language|marked-up]] copy of the file which is read by vile (via a pipe if the syntax filters are external programs, or via a function call if they are internal). vile paints the markup information on top of the buffer contents using in regions delimited by line and column numbers. The markup is not attached to the underlying buffer contents. To update the markup as the buffer is changed requires reanalysis. This is done automatically when the user pauses.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)