! Syntax Highlighting Patterns for ARM Assembler
!
! Contributed by Paul Martindale
!
! In NEdit Version 5.0.1 and beyond, load this pattern by starting nedit with:
!
!     nedit -import <name of this file>
!
! Then, check that the patterns were loaded correctly, and choose Save Defaults
! from the Preferences menu.  The new patterns will now be incorporated into
! your own .nedit file, so the next time you start NEdit, you will no longer
! need to use -import.
!
! In version 5.0, without -import, you must edit your .nedit file by hand and
! add the contents of each resource below to the corresponding list in your
! .nedit file.  Be sure to separate new entries with \n, and continue resource
! strings by escaping all newlines within a resource value with \ (backslash),
! leaving only the last line of the resource value not ending in \.
!
nedit.highlightPatterns: \
    	ARM:1:0{\n\
                Comments:";":"$"::Comment::\n\
                String Literals:"""":"""":"\\n":String::\n\
                Character Literals:"'":"'":"[^\\\\][^']":Character Const::\n\
                Numeric Literals:"<(#|&|0x|=| )+[0-9a-fA-F]*>":::Numeric Const::D\n\
                Identifiers:"<([a-zA-Z][a-zA-Z0-9_]*)>":::Identifier::D\n\
                ARM Registers:"<((((R|r)([0-9]|10|11|12|13|14|15))|(PC|pc))(,|[ \\\\t\\\\f\\\\r\\\\n]*))>":::Subroutine1::\n\
                ARM Directives:"<(ALIGN|align|AREA|area|CODE16|code16|CODE32|code32|DCD|dcd|END|end|ENTRY|entry|EQU|equ|INCLUDE|include|LTORG|ltorg|ORG|org)>":::ARM Directives::\n\
                ARM Inst Group A:"<(ADC|adc|ADD|add|AND|and|BIC|bic|CMP|cmp|EOR|eor|MLA|mla|MOV|mov|MUL|mul|MVN|mvn|ORR|orr|RSB|rsb|RSC|rsc|SBC|sbc|SMLAL|smlal|SMULL|smull|SUB|sub|UMLAL|umlal|UMULL|umull)(EQ|eq|NE|ne|CS|cs|HS|hs|CC|cc|LO|lo|MI|mi|PL|pl|VS|vs|VC|vc|HI|hi|LS|ls|GE|ge|LT|lt|GT|gt|LE|le|AL|al|NV|nv|[ \\\\t\\\\f\\\\r\\\\n]*)(S|s|[ \\\\t\\\\f\\\\r\\\\n]*)>":::Keyword::\n\
                ARm Inst Group B:"<(ADR|adr|ASR|asr|BL|bl|BX|bx|B|b|CDP|cdp|CMN|cmn|LDC|ldc|LSL|lsl|LSR|lsr|MCR|mcr|MRC|mrc|MRS|mrs|MSR|msr|mvn|NOP|nop|ROR|ror|RRX|rrx|STC|stc|SWI|swi|SWPB|swpb|SWP|swp|TEQ|teq|TST|tst)(EQ|eq|NE|ne|CS|cs|HS|hs|CC|cc|LO|lo|MI|mi|PL|pl|VS|vs|VC|vc|HI|hi|LS|ls|GE|ge|LT|lt|GT|gt|LE|le|AL|al|NV|nv|[ \\\\t\\\\f\\\\r\\\\n]*)>":::Keyword::\n\
                ARM LDR_STR:"<(LDR|ldr|STR|str)(EQ|eq|NE|ne|CS|cs|HS|hs|CC|cc|LO|lo|MI|mi|PL|pl|VS|vs|VC|vc|HI|hi|LS|ls|GE|ge|LT|lt|GT|gt|LE|le|AL|al|NV|nv|[ \\\\t\\\\f\\\\r\\\\n]*)(S|s|B|b|BT|bt|H|h|SB|sb|SH|sh|T|t|[ \\\\t\\\\f\\\\r\\\\n]*)>":::Keyword::\n\
                ARM LDM_STM:"<(LDM|ldm|STM|stm)(EQ|eq|NE|ne|CS|cs|HS|hs|CC|cc|LO|lo|MI|mi|PL|pl|VS|vs|VC|vc|HI|hi|LS|ls|GE|ge|LT|lt|GT|gt|LE|le|AL|al|NV|nv|[ \\\\t\\\\f\\\\r\\\\n]*)(DA|da|DB|db|IA|ia|IB|ib|[ \\\\t\\\\f\\\\r\\\\n]*)>":::Keyword::\n\
                ARM Thumb:"<(NEG|neg|POP|pop|PUSH|push)>":::Keyword::\n\
        }
nedit.languageModes: ARM:.s::Auto:None:8:8:
nedit.styles: ARM Directives:darkblue:Bold
