-
Notifications
You must be signed in to change notification settings - Fork 5
/
logcat-brief.YAML-tmLanguage
112 lines (104 loc) · 2.99 KB
/
logcat-brief.YAML-tmLanguage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# [PackageDev] target_format: plist, ext: tmLanguage
---
name: logcat (-v brief)
scopeName: source.logcat.brief
fileTypes: []
uuid: 280da077-b307-42f2-8c5d-3f3ea523b5fd
firstLineMatch: -* beginning of /dev/log/.*
# this is the generic format of a log
# https://regex101.com/r/cX0eW3
# match: '(?x)^
# (?:\s*(\d+:)\s*)? # (optional) line number
# ([VDIWEF])/(.*?) # log type, log tag
# \(\s*(\d+)\):\s+ # pid
# (.*) # log message
# $'
# captures:
# '1': line number
# '2': log type
# '3': log tag (note it is non greedy)
# '4': pid
# '5': log message
# captures[2] and captures[5] should be of the same scope
patterns:
- include: '#verbose'
- include: '#debug'
- include: '#info'
- include: '#warn'
- include: '#error'
repository:
verbose:
patterns:
- name: meta.logcat.line.verbose
match: '(?x)^
(?:\s*(\d+:)\s*)?
([V])/(.*)
\(\s*(\d+)\):\s+
(.*)
$'
captures:
'1': {name: constant.numeric.logcat.line}
'2': {name: comment.logcat.type}
'3': {name: entity.name.tag.logcat.tag}
'4': {name: constant.numeric.logcat.pid}
'5': {name: comment.logcat.msg}
debug:
patterns:
- name: meta.logcat.line.debug
match: '(?x)^
(?:\s*(\d+:)\s*)?
([D])/(.*)
\(\s*(\d+)\):\s+
(.*)
$'
captures:
'1': {name: constant.numeric.logcat.line}
'2': {name: entity.name.function.logcat.type}
'3': {name: entity.name.tag.logcat.tag}
'4': {name: constant.numeric.logcat.pid}
'5': {name: entity.name.function.logcat.msg}
info:
patterns:
- name: meta.logcat.line.info
match: '(?x)^
(?:\s*(\d+:)\s*)?
([I])/(.*)
\(\s*(\d+)\):\s+
(.*)
$'
captures:
'1': {name: constant.numeric.logcat.line}
'2': {name: entity.name.class.logcat}
'3': {name: entity.name.tag.logcat.tag}
'4': {name: constant.numeric.logcat.pid}
'5': {name: entity.name.class.logcat}
warn:
patterns:
- name: meta.logcat.line.warn
match: '(?x)^
(?:\s*(\d+:)\s*)?
([W])/(.*)
\(\s*(\d+)\):\s+
(.*)
$'
captures:
'1': {name: constant.numeric.logcat.line}
'2': {name: keyword.logcat.type}
'3': {name: entity.name.tag.logcat.tag}
'4': {name: constant.numeric.logcat.pid}
'5': {name: keyword.logcat.msg}
error:
patterns:
- name: meta.logcat.line.error
match: '(?x)^
(?:\s*(\d+:)\s*)?
([EF])/(.*)
\(\s*(\d+)\):\s+
(.*)
$'
captures:
'1': {name: constant.numeric.logcat.line}
'2': {name: invalid.illegal.logcat.type}
'3': {name: entity.name.tag.logcat.tag}
'4': {name: constant.numeric.logcat.pid}
'5': {name: invalid.illegal.logcat.msg}