Rob Simmons avatar Rob Simmons committed ee1ba99

Recognize that symbolic identifiers can live at the end of a sequence of namespaces

Comments (0)

Files changed (2)

pygments/lexers/functional.py

         'dotted': [
             (r'(%s)(\.)' % alphanumid_re, long_id_callback),
             (r'(%s)' % alphanumid_re, end_id_callback, "#pop"),
+            (r'(%s)' % symbolicid_re, end_id_callback, "#pop"),
             (r'\s+', Error),
             (r'\S+', Error),
         ],

tests/examplefiles/example.sml

+structure C = struct
+   val a = 12
+   fun f x = x + 5
+end
+
 (*(*(*(*(* This file is all pretty strange Standard ML *)*)*)*) (**)*)
 (* Robert J. Simmons *)
 
   val x = (1, 2, "three")
 end
 
-structure S = struct
+structure Sv = struct
   (* These look good *)
   val x = (1, 2, "three")
   val z = #2 x
   val x = {1 = 1, 3 = "three", 2 = 2}
   val z = #
             2 x
+
+  val || = 12
 end
 
 signature S = sig end
 val z = # ##= w
 
 fun f x y 0 = 4 
-  | f x y z = 4 
+  | f x y z = 4 + Sv.||
 
 exception Foo of int
 datatype ('0, 'b, '_, ') f'o'o = Bar | baZ12' | dsfa_fad | #@$ | Bug
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.