Skip to content

[Proposition] Create a separate repo for the grammar #148

Closed
@vors

Description

@vors

Dear friends, there were no releases and no active development of SublimeText/PowerShell since September 2015.

I would like to propose a "separate repo for the grammar" and explain, why I think it's a right step now.

In the meantime

PowerShell team is doing more and more development on GitHub in https://github.com/PowerShell.

Microsoft as a whole org doing more and more open-source development in https://github.com/Microsoft

New code editor VSCode emerged. VSCode is based on Atom.
It has a great PowerShell support, driven by @daviwil (PS team member).

SublimeText/PowerShell Current state

SublimeText/PowerShell serves two functions:

  • it's original purpose: a SublimeText specific plugin
  • a place for the shared tmLanguage grammar

The second role is important: it allows us to converge and work together on the syntax highlighting, instead of reinventing the wheel in different places. This tmLanguage grammar is used in

It's dual-role start hurts:

  • I was stopping @guillermooo from switching to a new Sublime grammar engine, because then we would lose the point to converge.
  • Changes need to be made more carefully, because of the differences in tmLanguage engines in different editors.
  • My unit test system became an over-complicated monster that discourage people from contributions. Tests are failing and it's impossible to set-up a local env to troubleshoot them.

Proposition

I would like to create a dedicated repo, i.e. https://github.com/PowerShell/grammars,
and move tmLanguage development there.

More details:

  • I would like to include all .tmLanguge, .cson / .json, .yml formats of grammars and add a script that keep them in sync (and CI test that verifies it), so people would not need to mess around with converters.
  • For testing I would like to use something editor-agnostic, like https://github-lightshow.herokuapp.com/
  • I will use git filter-branch to keep git history on the .tmLanguage file.
  • Every significant "release", maintainers will notify all interested parties that update is available (probably in the form of PR).
  • I will remove burndown of powershell-based tests from this repo.

Questions

  • What do you think about this plan?
  • Are you ok with hosting it in PowerShell github org?

@guillermooo @Jaykul @bcrotty

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions