MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / classifyToken

Function classifyToken

pkg/lsp/handler.go:1771–1818  ·  view source on GitHub ↗

classifyToken maps a TokenWithSpan to a semantic token type index. Returns -1 for tokens that should not be included in the semantic token stream.

(tok models.TokenWithSpan)

Source from the content-addressed store, hash-verified

1769// classifyToken maps a TokenWithSpan to a semantic token type index.
1770// Returns -1 for tokens that should not be included in the semantic token stream.
1771func classifyToken(tok models.TokenWithSpan) int {
1772 switch tok.Token.Type {
1773 case models.TokenTypeKeyword,
1774 models.TokenTypeSelect, models.TokenTypeFrom, models.TokenTypeWhere,
1775 models.TokenTypeInsert, models.TokenTypeUpdate, models.TokenTypeDelete,
1776 models.TokenTypeCreate, models.TokenTypeDrop, models.TokenTypeAlter,
1777 models.TokenTypeTable, models.TokenTypeIndex,
1778 models.TokenTypeJoin, models.TokenTypeLeft, models.TokenTypeRight,
1779 models.TokenTypeInner, models.TokenTypeOuter,
1780 models.TokenTypeOn, models.TokenTypeAs,
1781 models.TokenTypeAnd, models.TokenTypeOr, models.TokenTypeNot,
1782 models.TokenTypeIn, models.TokenTypeIs, models.TokenTypeNull,
1783 models.TokenTypeLike,
1784 models.TokenTypeOrder, models.TokenTypeGroup, models.TokenTypeBy,
1785 models.TokenTypeHaving, models.TokenTypeLimit, models.TokenTypeOffset,
1786 models.TokenTypeWith, models.TokenTypeUnion,
1787 models.TokenTypeIntersect, models.TokenTypeExcept,
1788 models.TokenTypeDistinct,
1789 models.TokenTypeCase, models.TokenTypeWhen, models.TokenTypeThen,
1790 models.TokenTypeElse, models.TokenTypeEnd:
1791 return semTokKeyword
1792 case models.TokenTypeWord, models.TokenTypeIdentifier:
1793 return semTokIdentifier
1794 case models.TokenTypeNumber:
1795 return semTokNumber
1796 case models.TokenTypeString,
1797 models.TokenTypeSingleQuotedString, models.TokenTypeDoubleQuotedString,
1798 models.TokenTypeDollarQuotedString, models.TokenTypeEscapedStringLiteral,
1799 models.TokenTypeNationalStringLiteral, models.TokenTypeUnicodeStringLiteral,
1800 models.TokenTypeHexStringLiteral:
1801 return semTokString
1802 case models.TokenTypeWhitespace:
1803 // Whitespace tokens that are comments
1804 if tok.Token.Word == nil {
1805 return -1
1806 }
1807 return semTokComment
1808 case models.TokenTypeEq, models.TokenTypeNeq,
1809 models.TokenTypeLt, models.TokenTypeGt,
1810 models.TokenTypeLtEq, models.TokenTypeGtEq,
1811 models.TokenTypePlus, models.TokenTypeMinus,
1812 models.TokenTypeMul, models.TokenTypeDiv,
1813 models.TokenTypeMod:
1814 return semTokOperator
1815 default:
1816 return -1 // don't classify
1817 }
1818}

Callers 1

encodeSemanticTokensFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected