Commit graph

9 commits

Author SHA1 Message Date
Seivan Heidari
c60f9bf4c6 * Adding scope mapping configuration manifest in package.json
* Loading configurable scope mappings from settings.
* Updating Readme with `rust-analyzer.scopeMappings`.
`rust-analyzer.scopeMappings` -- a scheme backed JSON object to tweak Rust Analyzer scopes to TextMate scopes.
   ```jsonc
    {
        //Will autocomplete keys to available RA scopes.
        "keyword.unsafe": ["keyword", "keyword.control"],
        //Values are string | TextMateScope | [string | TextMateScope]
        "comments": "comment.block"
    }
   ```
2019-11-04 23:59:11 +01:00
Seivan Heidari
a437f0e584 Making loadColors more readable by monading all the things. 2019-10-31 11:26:39 +01:00
Seivan Heidari
1f822c8e51 Adding better debugging for testing themes missing tags and which scopes didn't map.
Since this file is no longer being pushed upstream, double down on monads.
2019-10-31 10:36:54 +01:00
Seivan Heidari
0ddf47a7ab Introducing a Scopes Mapper to map from RA scopes to TextMate scopes with fallbacks.
Current scopes defined:
```
    ['keyword.unsafe', ['storage.modifier', 'keyword.other', 'keyword.control']],
    ['function', ['entity.name.function']],
    ['parameter', ['variable.parameter']],
    ['type', ['entity.name.type']],
    ['builtin', ['variable.language', 'support.type', 'support.type']],
    ['text', ['string', 'string.quoted', 'string.regexp']],
    ['attribute', ['keyword']],
    ['literal', ['string', 'string.quoted', 'string.regexp']],
    ['macro', ['support.other']],
    ['variable.mut', ['variable']],
    ['field', ['variable.object.property']],
    ['module', ['entity.name.section']]
```

Need to complement with further fallbacks as some themes fail.
2019-10-27 17:57:11 +01:00
Seivan Heidari
5957b851e4 Refactor how themes are found in packages without relying on parsing JSONC.
However, there is still an issue where themes could have been defined in JSONC - but so far with testing very few of them actually do. The issue was in loading packages and now we're letting VSCode tackle that.
Fix: https://github.com/rust-analyzer/rust-analyzer/pull/2061#discussion_r339015610
2019-10-26 16:29:49 +02:00
Seivan Heidari
b59ffb7d41 Making it clear we're using default settings. 2019-10-24 18:33:36 +02:00
Seivan Heidari
e6df4c424a Fixing linting issues, but also hides failures. Has to be a better approach to error handling. 2019-10-24 17:59:55 +02:00
Seivan Heidari
8e63644d66 Only loading tokenColorCustomizations once. 2019-10-24 17:56:59 +02:00
Seivan Heidari
3e8616cf6d Proof of concept theming and 'tokenColorCustomizations' support. 2019-10-24 17:25:23 +02:00