mirror of
https://github.com/sharkdp/bat.git
synced 2024-12-22 14:30:42 +01:00
48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
|
%YAML 1.2
|
||
|
---
|
||
|
# http://www.sublimetext.com/docs/3/syntax.html
|
||
|
name: Cabal
|
||
|
file_extensions:
|
||
|
- cabal
|
||
|
scope: source.cabal
|
||
|
contexts:
|
||
|
main:
|
||
|
- match: ^(\s*)(exposed-modules):$
|
||
|
captures:
|
||
|
2: constant.other.cabal
|
||
|
push:
|
||
|
- meta_scope: exposed.modules.cabal
|
||
|
- match: ^(?!\1\s)
|
||
|
pop: true
|
||
|
- include: module_name
|
||
|
- match: ^(\s*)(build-depends):$
|
||
|
captures:
|
||
|
2: constant.other.cabal
|
||
|
push:
|
||
|
- meta_scope: exposed.modules.cabal
|
||
|
- match: ^(?!\1\s)
|
||
|
pop: true
|
||
|
- match: "([<>=]+)|([&|]+)"
|
||
|
scope: keyword.operator.haskell
|
||
|
- match: ((\d+|\*)\.)*(\d+|\*)
|
||
|
scope: constant.numeric.haskell
|
||
|
- match: '([\w\-]+)'
|
||
|
scope: support.function.haskell
|
||
|
- match: '^\s*([a-zA-Z_-]+)(:)\s+'
|
||
|
scope: entity.cabal
|
||
|
captures:
|
||
|
1: constant.other.cabal
|
||
|
2: punctuation.entity.cabal
|
||
|
- match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository)\s+([^\s,]+)\s*$'
|
||
|
scope: entity.cabal
|
||
|
captures:
|
||
|
1: keyword.entity.cabal
|
||
|
2: string.cabal
|
||
|
- match: ^(?i)library\s*$
|
||
|
scope: keyword.entity.cabal
|
||
|
- match: "--.*$"
|
||
|
scope: comment.cabal
|
||
|
module_name:
|
||
|
- match: '([A-Z][A-Za-z_''0-9]*)(\.[A-Z][A-Za-z_''0-9]*)*'
|
||
|
scope: storage.module.haskell
|