mirror of
https://github.com/sharkdp/bat.git
synced 2024-11-29 19:23:34 +01:00
Merge pull request #282 from tobenna/support-cabal-syntax
Syntax highlighting for .cabal
This commit is contained in:
commit
96d4492d27
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -67,6 +67,9 @@
|
|||||||
[submodule "assets/themes/onehalf"]
|
[submodule "assets/themes/onehalf"]
|
||||||
path = assets/themes/onehalf
|
path = assets/themes/onehalf
|
||||||
url = https://github.com/sonph/onehalf
|
url = https://github.com/sonph/onehalf
|
||||||
|
[submodule "assets/syntaxes/Cabal"]
|
||||||
|
path = assets/syntaxes/Cabal
|
||||||
|
url = https://github.com/SublimeHaskell/SublimeHaskell
|
||||||
[submodule "assets/syntaxes/Dart"]
|
[submodule "assets/syntaxes/Dart"]
|
||||||
path = assets/syntaxes/Dart
|
path = assets/syntaxes/Dart
|
||||||
url = https://github.com/guillermooo/dart-sublime-bundle
|
url = https://github.com/guillermooo/dart-sublime-bundle
|
1
assets/syntaxes/Cabal
Submodule
1
assets/syntaxes/Cabal
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 1c054d9b3684d4f8278f934099614674217fea4d
|
47
assets/syntaxes/Cabal.sublime-syntax
Normal file
47
assets/syntaxes/Cabal.sublime-syntax
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
%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
|
Loading…
Reference in New Issue
Block a user