lewdlime / SublimeTextSyntaxes

Syntax definitions for various languages & markups.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SublimeTextSyntaxes

Syntax definitions for various languages & markups.

Included syntax definitions:

  • ABC Notation: ABC Music Notation, a widely used text-based music notation system.
  • GoCoEdit: Used for the iOS programming editor app, GoCoEdit, for easier editing of it's custom modes & custom themes. GoCoEdit is compatable with SublimeText snippets in XML format.
  • RELAX NG Compact: Used for defining XML schema in a non-XML format.
  • Augmented BNF: Parser definition language. Used to describe the terminal rule syntax of standardized programming languages and markup languages. Features of this language differ from the original form of BNF. See here for more info.
  • Extended BNF: Parser definition language. Used to describe the terminal rule syntax of standardized programming languages and markup languages. Features of this language differ from the original form of BNF. See here for more info.

Notes About Syntaxes and Themes

This repository contains syntax definitions for both Sublime Text & TextMate-compatible editors. The TextMate-compatible syntaxes are a back-port of the Sublime Text syntax definitions, as the format & system used for Sublime Text's sublime-syntax files far outperforms that of TextMate-based syntax definitions, in my opinion.

ABC Notation Notes: ABC Is NOT Markup

ABC Notation is NOT a markup language, despite how it may be considered as such. If it was, it would only be limited to using strictly markup scopes, and would be limited to only the complexity needed to format content on a webpage or a piece of paper. But languages like Markdown exist, as do systems like . Additionally, there are multiple commands that support embedded PROGRAMMING language scopes within ABC Notation files:

  • %%beginjs ... %%endjs: JavaScript Code (abc2svg / abcjs)
  • %%beginps ... %%endps: PostScript Code
  • %%beginsvg ... %%endsvg: SVG [XML] Content
  • %%beginml ... %%endml: HTML / Generic Markup Language Content
  • %%beginmd ... %%endmd: Markdown Content
  • %%begintext ... %%endtext: Optionally formatted text Content

This aside, ABC Notation can't count as a markup language, namely because of how expressive and syntax oriented it is. As the person who had to figure out how to rework the syntax definition from the ground up, I can tell you first hand that anyone calling ABC Notation a "markup" needs a slap to the back of the head.

There are many who will say that music notation is a markup, & they will always be wrong: Music is a language first, a performance second, and a document format LAST.

ToDos:

  • Embed PostScript, SVG, HTML, JavaScript, etc. highlighting within %%begin...%%end sections, respectively.
  • Need more snippets, in general. I'd like to have snippets for a large array of scores, from indivual part scores to director score books, and also ABC tunes templates that are configured for specific genres / nationalities of music (Irish reels/jigs/hornpipes, Scottish strathspeys, polka, ballads, jazz, blues, church-oriented hymns, Christmas styled tunes, etc.), as well as for various types of instrumentation templates (piano accompaniments, drumset solos, percussion ensembles, individual sections of orchestras, etc.). Music is the only language that doesn't discriminate.
  • I'd really like to advance the ABC Notation into a robust plugin, with features that allow for the best scorewriting capacity available to anyone using ABC Notation: drum mapping, voice & part mapping / management, drum pattern sequencing, etc.

About

Syntax definitions for various languages & markups.

License:Apache License 2.0


Languages

Language:PostScript 100.0%