Basically just the title said. The situation is basically I use a Domain-Specific Language called G’MIC, and to this day, I haven’t found a satisfactory answer to the issue of lack of syntax highlighting. At the moment, I am using KDE Kate as it’s pretty good at structuring the code with their find/replace feature, tab indicators, and multi-window support.

  • @Reptorian@programming.devOP
    link
    fedilink
    2
    edit-2
    1 year ago

    So far, the most challenging part was highlighting things that counts as comment rather than pointers to image pixels or accessible variables. That’s not the end of my trouble though.

    I do want to figure out how to highlight “expr” including newlines inside expr. expr is basically any mathematical expression that is utilized on JIT compilation.

    • if expr
    • repeat expr
    • variable={expr}
    • variable:=expr <- : can be replaced with operator and it will still apply.
    • eval expr
    • eval “expr”
    • check “expr”
    • fill expr
    • fill “expr”
    • eval>expr
    • eval >“expr”
    • fill >expr
    • fill >“expr”
    • {expr}
    • for expr
    • {“expr”}
    • while expr

    Along with that to set up regex inside it to highlight section of expr.

    While still maintaining priority of regex. So, if one regex is more important, it’ll overwrite whatever highlighted.

      • @Reptorian@programming.devOP
        link
        fedilink
        21 year ago

        What do you mean? I’m pretty new to making syntax highlighting for KDE Kate, so I’m just now fixing my other thing before I get into much more advanced concept of it.

        • @TheCee@programming.dev
          link
          fedilink
          11 year ago

          The way I remember stuff and it seems to be explained in here a context is a way to limit the amount of checked regexes. So as I understand you can start an expr context if you hit one of those keywords. Kind of like modes in XSL or working with a stack.

          That document also describes how to handle newlines in context.