1
0
mirror of https://github.com/alecthomas/chroma.git synced 2025-07-03 00:37:01 +02:00

Invert default "ensure newline" behaviour so that it is opt-in.

See #47.
This commit is contained in:
Alec Thomas
2017-09-30 14:40:39 +10:00
parent 573c1d157d
commit ce3d6bf527
6 changed files with 7 additions and 6 deletions

View File

@ -7,7 +7,7 @@ import (
)
func TestCoalesce(t *testing.T) {
lexer := Coalesce(MustNewLexer(&Config{DontEnsureNL: true}, Rules{
lexer := Coalesce(MustNewLexer(nil, Rules{
"root": []Rule{
{`[!@#$%^&*()]`, Punctuation, nil},
},

View File

@ -44,9 +44,9 @@ type Config struct {
// Strip all leading and trailing whitespace from the input
// StripAll bool
// Make sure that the input does not end with a newline. This
// Make sure that the input ends with a newline. This
// is required for some lexers that consume input linewise.
DontEnsureNL bool
EnsureNL bool
// If given and greater than 0, expand tabs in the input.
// TabSize int

View File

@ -11,6 +11,7 @@ var Makefile = Register(MustNewLexer(
Aliases: []string{"make", "makefile", "mf", "bsdmake"},
Filenames: []string{"*.mak", "*.mk", "Makefile", "makefile", "Makefile.*", "GNUmakefile"},
MimeTypes: []string{"text/x-makefile"},
EnsureNL: true,
},
Rules{
"root": {

View File

@ -44,7 +44,7 @@ func TestInclude(t *testing.T) {
}
func TestCombine(t *testing.T) {
l := MustNewLexer(&Config{DontEnsureNL: true}, Rules{
l := MustNewLexer(nil, Rules{
"root": {{`hello`, String, Combined("world", "bye", "space")}},
"world": {{`world`, Name, nil}},
"bye": {{`bye`, Name, nil}},

View File

@ -300,7 +300,7 @@ func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator,
if options == nil {
options = defaultOptions
}
if !r.config.DontEnsureNL && !strings.HasSuffix(text, "\n") {
if r.config.EnsureNL && !strings.HasSuffix(text, "\n") {
text += "\n"
}
state := &LexerState{

View File

@ -7,7 +7,7 @@ import (
)
func TestRemappingLexer(t *testing.T) {
var lexer Lexer = MustNewLexer(&Config{DontEnsureNL: true}, Rules{
var lexer Lexer = MustNewLexer(nil, Rules{
"root": {
{`\s+`, Whitespace, nil},
{`\w+`, Name, nil},