MCPcopy Create free account
hub / github.com/microsoft/typescript-go / indentTriviaItems

Method indentTriviaItems

internal/format/span.go:906–925  ·  view source on GitHub ↗
(trivia []TextRangeWithKind, commentIndentation int, indentNextTokenOrTrivia bool, indentSingleLine func(item TextRangeWithKind))

Source from the content-addressed store, hash-verified

904}
905
906func (w *formatSpanWorker) indentTriviaItems(trivia []TextRangeWithKind, commentIndentation int, indentNextTokenOrTrivia bool, indentSingleLine func(item TextRangeWithKind)) bool {
907 for _, triviaItem := range trivia {
908 triviaInRange := triviaItem.Loc.ContainedBy(w.originalRange)
909 switch triviaItem.Kind {
910 case ast.KindMultiLineCommentTrivia:
911 if triviaInRange {
912 w.indentMultilineComment(triviaItem.Loc, commentIndentation, !indentNextTokenOrTrivia, true)
913 }
914 indentNextTokenOrTrivia = false
915 case ast.KindSingleLineCommentTrivia:
916 if indentNextTokenOrTrivia && triviaInRange {
917 indentSingleLine(triviaItem)
918 }
919 indentNextTokenOrTrivia = false
920 case ast.KindNewLineTrivia:
921 indentNextTokenOrTrivia = true
922 }
923 }
924 return indentNextTokenOrTrivia
925}
926
927func (w *formatSpanWorker) indentMultilineComment(commentRange core.TextRange, indentation int, firstLineIsIndented bool, indentFinalLine bool) {
928 // split comment in lines

Callers 2

executeMethod · 0.95

Calls 2

ContainedByMethod · 0.80

Tested by

no test coverage detected