Sublime Forum

Sublime crashes without cause when reading invalid `.sublime-syntax` files

#1

Whenever i startup sublime text 3, it crashes without cause.

I’ve been making a parser for the SML language, and here’s a stripped-down version of the part that’s giving me issues (aka the .sublime-syntax file). I can just open the .sublime-syntax file in vi and delete the invalid values, but it is a real annoyance.

here’s my syntax file:


%YAML 1.2

name: my_bad_sml_parser
scope: source.sml

variables:
ident: ‘(?:\b[_a-zA-Z][_a-zA-Z0-9’’]*\b)’

contexts:
main:
- include: declarations

declarations:
- match: \b(val)\s+({{ident}})\s+
captures:
1: storage.type.variable.sml
2: variable.local.sml
embed: type-pattern
escape: (?=[=\n])

type-pattern:
- match: (
scope: storage.type.sml
embed: type-pattern
escape: )

and here’s a trimmed-down version of the file that’s causing issues:

(* to suppress Warning: calling polyEqual )
(
at command line: sml -Ccontrol.poly-eq-warn=false )
(
in file:
Control.polyEqWarn := false;
*)

signature CUSTOMUNITTESTUTIL =
sig
exception AssertFailure of string;

val mutateToRaiseOnFailure : unit -> unit
val mutateToPrintOnFailure : unit -> unit
val isRaiseOnFailure : unit -> bool
val isPrintOnFailure : unit -> bool

val success : string -> unit
val failure : string -> unit

val list_to_string : 'a list*('a->string) -> string

val assert_simple_equals : ''a * '‘a * (’'a -> string) -> unit
val assert_complicated_equals : 'a * 'a * ('a * 'a -> bool) * ('a -> string) -> unit
val assert_simple_equals_one_of : ''a list * '‘a * (’'a -> string) -> unit
val assert_complicated_equals_one_of : 'a list * 'a * ('a * 'a -> bool) * ('a -> string) -> unit

end

0 Likes

#2
0 Likes