Skip to content

Latest commit

 

History

History
364 lines (295 loc) · 15.4 KB

PACKAGE_STATUS.md

File metadata and controls

364 lines (295 loc) · 15.4 KB

Sublime PML Package Status

Info about the package status in terms of PML syntax elements and features currently implemented and those awaiting implementation.

WARNING — The list of pending tasks might not be 100% accurate due to breaking changes across PML v2.x and 3.x. Although I've tried to keep the list up to date with the latest changes, chances are that details have been overlooked. Always double check against the latest generated JSON tags file and official docs.


Table of Contents


Syntax Elements

Info about the status of PML nodes and other syntax-related elements currently implemented in Sublime PML, and their roadmap.

Syntax elements with a ticked checkbox are ready to use, even though some features might still be pending implementation (unticked checkbox).

To simplify consultation, nodes are organized into sub-sections like in the PML PML Reference Manual and presented in the same order, and syntax elements and their categories link back to their descriptions in the Reference and User manuals.

Block Nodes

See: PML Reference Manual » Block Nodes.

Fundamental Nodes

See: PML Reference Manual » Block Nodes » Fundamental Nodes.

  • Options — [options node.
    • Supports all (most?) CLI options as sub-nodes:
      • [highlighterhighlightjs, prism, none.
      • [TOC_max_levelinteger.
      • [TOC_positionleft, top, none.
      • [TOC_titlestring.
      • [HTML_page_footer — file path.
      • [HTML_page_header — file path.
      • [resources — path(s).
      • [CSS_files — path(s).
      • [omit_CSSyes, no, true, false.
    • Attributes completions:
      • highlighter[highlighter ${1:highlightjs}]\n$0
      • hljs[highlighter highlightjs]\n$0
      • prism[highlighter prism]\n$0
      • tocposition[TOC_position ${1:top}]\n$0
      • toctitle[TOC_title ${1:Contents}]\n$0
      • ... more ...
  • Document — [doc .. ]
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Attributes completions (most attributes now moved to [options):
      • HTML attributes
    • Snippet: newdoc.
  • Paragraph — [p .. ].
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Attributes completions:
      • idid = ${1:identifier} $0
      • html_classhtml_class = ${1:some_class} $0
  • Chapter — [ch .. ]:
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Attributes completions:
      • idid = ${1:identifier} $0
  • Title — [doc [title and [ch [title sub-node:
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Snippet: newch.
    • Symbol Indexing (local):
      • Title text is transformed for better lookup:
        • Prefixed with = .
        • Surrounding spaces are trimmed.
        • Multi-line titles are shown as a single line with spurious spaces collapsed into a single space.
        • Strip away from indexed title inline-tag delimiters:
          • Font formatting: [b / [c / [i / [sub / [sup / [strike .. ]
  • Subtitle — [ch [title [subtitle sub-node.

Common Nodes

See: PML Reference Manual » Block Nodes » Common Nodes.

  • List Nodes:
  • Table Nodes:
    • Simple Table — [sim_table .. sim_table].
    • Table — [table .. ].
    • Table Header — [theader .. ].
    • Table Footer — [tfooter .. ].
    • Table Row — [tr .. ].
    • Table Cell — [tc .. ].
  • Header — [header .. ].
  • Caption — [caption .. ]
  • Admonition — [admon .. ].
  • Note — [note .. ].
  • Quote — [quote .. ]
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Attributes completions:
      • idid = ${1:identifier} $0
      • HTML attributes
    • Quote Source — [qsource .. ]
      • Tag scoping.
      • Attributes:
        • id
        • HTML attributes
  • Monospace — [monospace .. ]
  • Division — [div .. ]
  • HTML Code — [html .. ]
    • Tag scoping.
    • Support alternative raw_text syntaxes: (See #40)
    • Syntax embedding: node contents are passed to the native HTML syntax that ships with Sublime Text.
    • Attributes:
      • id
      • HTML attributes
    • Lenient parsing: Unconstrained attributes.
    • Snippets:
      • bkhtml

Media

See: PML Reference Manual » Block Nodes » Media.

Software Development

See: PML Reference Manual » Block Nodes » Software Development.

Inline Nodes

See: PML Reference Manual » Inline Nodes.

  • URL Link — [link .. ]
  • Verbatim Text — [verbatim .. ]
  • Cross-Reference — [xref .. ]
  • Span[span .. ]
    • Tag scoping.
    • Keyboard shortcut (???).
  • New Line — [nl .. ]
    • Tag scoping.
    • smart auto-completion (nl), globally available.
    • Keyboard shortcut: Ctrl Shift Enter (PML files only, and not if a cursor is inside [html node).
  • Space Character — [sp .. ]
    • Tag scoping.
    • smart auto-completion (nbsp), globally available.
    • Keyboard shortcut?
  • Text — [text .. ]

Font Nodes

See: PML Reference Manual » Inline Nodes » Font.

  • Bold Text — [b .. ]
    • Tag scoping.
    • Keyboard shortcut Alt b.
  • Italic Text — [i .. ]
    • Tag scoping.
    • Keyboard shortcut Alt i.
  • Subscript — [sub .. ]
    • Tag scoping.
    • Keyboard shortcut?
  • Superscript — [sup .. ]
    • Tag scoping.
    • Keyboard shortcut?
  • Strikethrough — [strike .. ]
    • Tag scoping.
    • Keyboard shortcut?
  • Inline Source Code — [c .. ]
    • Tag scoping.
    • Keyboard shortcut (???).

Footnotes

  • Footnotes Placeholder[fnotes]
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Completion: fnpholder.
  • Footnote Definition[fnote_def .. ]
    • Tag scoping.
    • Attributes:
      • id
      • HTML attributes
    • Snippet: fndef.
  • Inline Footnote[fnote .. ]
    • Tag scoping.
    • Attributes:
      • HTML attributes
    • Snippet: fnote.
  • Footnote Reference[fnote_ref .. ]
    • Tag scoping.
    • Attributes:
      • did
      • text
      • HTML attributes
    • Completions:
      • fnref — just did.
      • fntrefdid + custom text.

Text Processing Nodes

See: PML User Manual » Text Processing Nodes.

  • Comments — [- .. -]
    • Nestable comments.
    • Keyboard shortcuts:
      • Ctrl /
      • Ctrl Shift /
  • Insert File[u:ins_file path = .. file_path ]
  • Parameters[u:set .. ] and [u:get .. ]:
    • Basic node scoping.
      • Need to handle scoping of the u: namespace part.
      • [u:set: allow multiple definitions.
    • Indexing in local symbols list:
      • Symbols are transformed by prefixing their [u:set/[u:get tags for easier lookup and fuzzy searching.
    • Goto Definition (F12) jumps to parameter's [u:set definition.
    • Completions: pset and pget to quickly define and insert parameters, respectively.