summaryrefslogtreecommitdiff
path: root/hclsyntax/keywords.go
blob: 5124ae95c3380249ad6d1e4b6c12fafc982e0b49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

package hclsyntax

import (
	"bytes"
)

type Keyword []byte

var forKeyword = Keyword([]byte{'f', 'o', 'r'})
var inKeyword = Keyword([]byte{'i', 'n'})
var ifKeyword = Keyword([]byte{'i', 'f'})
var elseKeyword = Keyword([]byte{'e', 'l', 's', 'e'})
var endifKeyword = Keyword([]byte{'e', 'n', 'd', 'i', 'f'})
var endforKeyword = Keyword([]byte{'e', 'n', 'd', 'f', 'o', 'r'})

func (kw Keyword) TokenMatches(token Token) bool {
	if token.Type != TokenIdent {
		return false
	}
	return bytes.Equal([]byte(kw), token.Bytes)
}