filetype: scala

detect:
    filename: "\\.sc(ala)?$|\\.sbt$"

rules:
    - type: "\\b(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\\b"
    - statement: "\\b(match|val|var|break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\\b"
    - statement: "\\b(def|object|case|trait|lazy|implicit|abstract|class|extends|with|final|implements|override|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile|sealed)\\b"
    - constant.string:
        start: "\"\"\""
        end: "\"\"\""
        rules: []
    - constant.string:
        start: "\""
        end: "\""
        skip: "\\\\."
        rules:
            - constant.specialChar: "\\\\."
    - constant: "\\b(true|false|null)\\b"
    - comment:
        start: "//"
        end: "$"
        rules: []
    - comment:
        start: "/\\*"
        end: "\\*/"
        rules: []
    - comment:
        start: "/\\*\\*"
        end: "\\*/"
        rules: []

