( lineNumber: number, lineText: string, tabSize: number, cache: IndentLineCache, )
| 133 | } |
| 134 | |
| 135 | function getCachedLineInfo( |
| 136 | lineNumber: number, |
| 137 | lineText: string, |
| 138 | tabSize: number, |
| 139 | cache: IndentLineCache, |
| 140 | ): IndentLineInfo { |
| 141 | const cached = cache.get(lineNumber); |
| 142 | if (cached && cached.text === lineText && cached.tabSize === tabSize) { |
| 143 | return cached; |
| 144 | } |
| 145 | |
| 146 | const info = { |
| 147 | text: lineText, |
| 148 | tabSize, |
| 149 | indentColumns: getLineIndentation(lineText, tabSize), |
| 150 | leadingWhitespaceLength: getLeadingWhitespaceLength(lineText), |
| 151 | blank: isBlankLine(lineText), |
| 152 | }; |
| 153 | cache.set(lineNumber, info); |
| 154 | return info; |
| 155 | } |
| 156 | |
| 157 | /** |
| 158 | * Build decorations for indent guides |
no test coverage detected