{"action":"created","issue":{"url":"https://api.github.com/repos/SublimeText/PowerShell/issues/78","labels_url":"https://api.github.com/repos/SublimeText/PowerShell/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/SublimeText/PowerShell/issues/78/comments","events_url":"https://api.github.com/repos/SublimeText/PowerShell/issues/78/events","html_url":"https://github.com/SublimeText/PowerShell/issues/78","id":55842200,"number":78,"title":"[Discussion] Milestone 2.2.0","user":{"login":"vors","id":816680,"avatar_url":"https://avatars.githubusercontent.com/u/816680?v=3","gravatar_id":"","url":"https://api.github.com/users/vors","html_url":"https://github.com/vors","followers_url":"https://api.github.com/users/vors/followers","following_url":"https://api.github.com/users/vors/following{/other_user}","gists_url":"https://api.github.com/users/vors/gists{/gist_id}","starred_url":"https://api.github.com/users/vors/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vors/subscriptions","organizations_url":"https://api.github.com/users/vors/orgs","repos_url":"https://api.github.com/users/vors/repos","events_url":"https://api.github.com/users/vors/events{/privacy}","received_events_url":"https://api.github.com/users/vors/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SublimeText/PowerShell/labels/area:Meta","name":"area:Meta","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-01-29T01:18:16Z","updated_at":"2015-02-05T00:59:51Z","closed_at":null,"body":"First of all, I want to share some highlights of the recent release 2.1.0\r\n- New unit test framework allows describe fundamental rules about syntax scopes. Now ST scopes can be compared to tokens, produced by PS parser (used for powershell_ise and PSReadLine highlighting). Credits to @guillermooo for introducing unit tests.\r\n- Tons of bugfixes for syntax. Credits to @bcrotty for his contribution. Credits to @Jaykul for his contribution for previous release 2.0.0 and support for PS v3.\r\n- Github syntax highlight library [will use our work](https://github.com/github/linguist/issues/2043) for all github powershell code! I don't have information when it will happen, but eventually we will impact experience for all open source powershell developers. I'm quite excited about it.\r\n\r\nFor next release, there are few areas where we can improve.\r\n- Better test automation to reduce risk of regressions. Currently, unit tests have quite few ignored errors.\r\n- New language features, like #42 and #43 \r\n- Clean up old bugs (older then 2015): fix/close.\r\n- Make goto symbol feature usable #27 \r\n\r\nI encourage you to share opinions, what you want to see in the next release.\r\n\r\nThen, I will create a milestone 2.2.0 with general description of milestone's goals and assign actionable items to it."},"comment":{"url":"https://api.github.com/repos/SublimeText/PowerShell/issues/comments/72974526","html_url":"https://github.com/SublimeText/PowerShell/issues/78#issuecomment-72974526","issue_url":"https://api.github.com/repos/SublimeText/PowerShell/issues/78","id":72974526,"user":{"login":"vors","id":816680,"avatar_url":"https://avatars.githubusercontent.com/u/816680?v=3","gravatar_id":"","url":"https://api.github.com/users/vors","html_url":"https://github.com/vors","followers_url":"https://api.github.com/users/vors/followers","following_url":"https://api.github.com/users/vors/following{/other_user}","gists_url":"https://api.github.com/users/vors/gists{/gist_id}","starred_url":"https://api.github.com/users/vors/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vors/subscriptions","organizations_url":"https://api.github.com/users/vors/orgs","repos_url":"https://api.github.com/users/vors/repos","events_url":"https://api.github.com/users/vors/events{/privacy}","received_events_url":"https://api.github.com/users/vors/received_events","type":"User","site_admin":false},"created_at":"2015-02-05T00:59:51Z","updated_at":"2015-02-05T00:59:51Z","body":"@jugglingnutcase As far as I know sublime exposes all APIs via `sublime.py` module which calls `sublime_api.py` (native code). To get grammar scopes you need to 1) load sublime.py (I don't know how to do it outside of sublime) 2) Call `set_syntax_file()` 3) call [some api to get scopes](https://github.com/SublimeText/PowerShell/blob/master/tests/py/__init__.py#L118) like `find_by_selector`. \r\n\r\nLet me tell you a little bit more about our current tests. There are currently two types: [in-proc tests](https://github.com/SublimeText/PowerShell/blob/master/tests/py/syntax_def/test_syntax.py), there are very few of them. And out-of-proc [pester tests](https://github.com/SublimeText/PowerShell/blob/master/tests/pester/Syntax.Tests.ps1). By proc I mean sublime text process. Out-of-proc tests consume text files, produced by [specific in-proc tests](https://github.com/SublimeText/PowerShell/blob/master/tests/py/syntax_def/test_token_gen.py#L7), that describes scopes. The reason to make them out-of-proc is to use **tokens**, generated by PowerShell parser as **canonical scopes**. So we can make sure that not only particular inputs produce pre-determined scopes, but we can verify fundamental principals for scopes against language parser. Currently there are 3 such principles (in release 2.1.0).\r\n1) Scopes should be the same for `input` and for `input.ToUpper()`\r\n2) Scopes should be the same for `input` and for `input.ToLower()`\r\n3) Scopes should not *break powershell parser tokens* apart. Sample from a bug, fixed in 2.1.0 `Get-Not` should not be highlighted as `Get**` and `-Not`**. \r\nFirst two doesn't really require PowerShell parser tokens, but I tested them out-of-proc for consistency."}}