@@ -6,11 +6,8 @@ function Get-TokensFromFile
6
6
[string ] $filePath
7
7
)
8
8
9
- $tokens = $null
10
- $errors = $null
11
- $ast = [System.Management.Automation.Language.Parser ]::ParseFile((Resolve-Path $filePath ).Path, [ref ]$tokens , [ref ]$errors )
12
-
13
- return $tokens
9
+ # Adjust offsets for CRLF
10
+ Get-TokensFromInput (cat - raw $filePath ).Replace(" `r`n " , " `n " )
14
11
}
15
12
16
13
function Get-SublimeScopesFromFile
@@ -53,42 +50,12 @@ function Select-TokenByOffset
53
50
54
51
process
55
52
{
56
- if ((( Get-TokenStartOffset $token ) -le $offset ) -and (( Get-TokenEndOffset $token ) -gt $offset )) {
53
+ if (($token.Extent.startOffset -le $offset ) -and ($token.Extent.endOffset -gt $offset )) {
57
54
return $token
58
55
}
59
56
}
60
57
}
61
58
62
- function Get-TokenStartOffset
63
- {
64
- [CmdletBinding ()]
65
- param (
66
- [Parameter (ValueFromPipeline )]
67
- [System.Management.Automation.Language.Token ] $token
68
- )
69
-
70
- process
71
- {
72
- # Adjust offsets for CRLF
73
- return $token.Extent.StartOffset - $token.Extent.StartLineNumber + 1
74
- }
75
- }
76
-
77
- function Get-TokenEndOffset
78
- {
79
- [CmdletBinding ()]
80
- param (
81
- [Parameter (ValueFromPipeline )]
82
- [System.Management.Automation.Language.Token ] $token
83
- )
84
-
85
- process
86
- {
87
- # Adjust offsets for CRLF
88
- return $token.Extent.EndOffset - $token.Extent.EndLineNumber + 1
89
- }
90
- }
91
-
92
59
function Convert-TokenToScope
93
60
{
94
61
[CmdletBinding ()]
@@ -106,8 +73,8 @@ function Convert-TokenToScope
106
73
107
74
$h = @ {
108
75
text = $token.Text
109
- startOffset = Get-TokenStartOffset $token
110
- endOffset = Get-TokenEndOffset $token
76
+ startOffset = $token.Extent.startOffset
77
+ endOffset = $token.Extent.endOffset
111
78
kind = $token.Kind
112
79
}
113
80
0 commit comments