Giter VIP home page Giter VIP logo

language-roff's Introduction

language-roff's People

Contributors

alhadis avatar vmg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

language-roff's Issues

v1

  • Fix invalid.illegal being applied to strings without a trailing double quote.
    The Troff User's Manual states trailing quotes may be omitted from strings (7.3. Arguments).
  • Allow "" to be interpreted as escape sequences within quoted strings
  • Prevent .BI spilling across lines if the italicised component is missing
  • Correctly highlight concealed newlines that immediately follow a string
    • Bold
    • Italic
  • Add comment-styling to lines entirely consisted of "."
    These are blank requests that're often inserted for additional readability.
  • Fix tokenisation not working for .BI "Bold"Italic
    The word Italic should receive formatting, but doesn't unless there's leading whitespace.
  • Add remaining permutations of combined-font macros
  • Fix formatting spillage in unquoted strings in a CFM's second argument
    Something like this incorrectly affects the next line:
    .BI "Bold" "Italic
    Should be plain
  • Optimise
    • Revise scope-name choices
      Some patterns might need a second-look to ensure their names comply with TextMate's recommended naming conventions.
    • Double-check if unquoted class is even necessary Removed
    • Use .parameter scope for escape-sequence parameters
  • Add support for transparent throughput
  • Add .. as a recognised request name
    It's the default closing sequence for .de declarations.
  • Uppercase .Ss macro
  • Move function name to parent scope of macro patterns
    Function highlighting affects the macro's name, but not the full-stop before it.
  • Add highlighting for arithmetic
  • Highlight .ds/.nr requests the same way as .de
    Both serve as roff's equivalent of assigning/declaring variables.
  • Properly handle nested .de calls without terminators
    A nested definition can omit its terminator argument if it escapes the default with \\..
  • Add recognition of predefined number registers
  • Allow extra backslashes to match as punctuation before escapes
    This will improve readability in macro definitions: escape sequences are usually delayed to avoid being evaluated too early.
  • Fix whatever's going on with the .ul request
  • Add mmn, mmt, tmac, tmac-u, nroff and troff as recognised extensions
  • Update package description and include manpage as a keyword
  • Extend firstLineMatch to cover modelines
    Modeline-matching is also used by the core language packages; their pattern might help
  • Stop comments receiving formatting in font macros
  • Add macro packages
    • man: Manual pages
    • me: Paper-formatting
    • me: Memorandum
    • ms: Manuscripts
    • www: Webpage generation
  • Add generic macro highlighting
    For any control-line not recognised
  • Add readme file, and amend description
    RUNOFF won't be added until after the first release; I'd prefer publishing this sooner rather than later.

v1.1

Remaining tasks

  • Ensure all escape sequences have appropriate punctuation scopes applied
  • Allow control lines to be highlighted between \fB and the like
  • Clip formatting of .TP macro's title to first line
    Groff resets the font-face and indentation after the title's printed, so an unclosed \fB sequence won't affect the rest of the document. Currently, that's exactly what it's doing.
  • Avoid highlighting macros that follow concealed newlines
  • Check for preceding whitespace before starting a string literal
    Something like abc"xyz is treated by Groff as a single string, but it's not being highlighted like one.
  • Add support for Groff syntax extensions
    See man groff_diff for details.
    • Include correct highlighting for .defcolor arguments
  • Avoid matching backslashes in \z escapes
    The sequence \z\(ci\(pl won't highlight (ci correctly, since the \z consumes the following backslash (meaning there's no chance to match a character expansion).
  • Improve highlighting of generic parameter lists
    • Add support for floating-point values
    • Add variable.parameter scope as a fallback for all parameters
    • Add support for f units (used in defining colour components)
  • Allow "parametric" escapes like \c'x' to span newlines and terminate early
    While unlikely (and stupid), the following code is still valid in Groff:
    \A'Valid


    \A'Va
    lid
  • Add a change-log and update preview banner

Due for v1.2.0

  • Add support for mdoc
  • Separate RUNOFF from Roff
    They're two different languages.
  • Preprocessors:
    • eqn: Equations
    • pic: Pictures
      • chem: Chemical diagrams
      • dformat: Data format
      • grap: Graphs
    • refer: References
    • tbl: Tables
    • ideal
    • grn

roff preview?

The screenshot in the README makes me think you have a preview mode that I can see in Atom? I'm looking for something like the continually-updated Markdown Preview.

Looking at the code, though... I guess this plugin contains syntax files and snippets, and I still need to escape to the terminal to preview?

Question: how to use the extension as man page author (render while typing the man page)

Dear all,
maybe a thumb question. I like to use the extension language-roff in atom. I am man page author and would like e.g. to have the man page sources at the left side and the roff-rendered page at the right side.
After installing language-roff I get a new entry in the menue "Packages" named "roff". But this does only allow to open a man page (which does only system installed man pages) and to clear the cache.
How could I render my man page I am currently working on?
Sorry for this maybe-beginner question.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.