Hi,
Running global on Windows, I encountered this:
-------------------------------
E:\Lesson\lesson>gtags
Traceback (most recent call last):
File "d:\acm\github\support\tools\gtags\bin\../share/gtags/script/pygments_parser.py", line 259, in <module>
main()
File "d:\acm\github\support\tools\gtags\bin\../share/gtags/script/pygments_parser.py", line 256, in main
handle_requests(langmap, parser_options)
File "d:\acm\github\support\tools\gtags\bin\../share/gtags/script/pygments_parser.py", line 218, in handle_requests
tags = parser.parse(path)
File "d:\acm\github\support\tools\gtags\bin\../share/gtags/script/pygments_parser.py", line 175, in parse
ref_result = self.ref_parser.parse(path)
File "d:\acm\github\support\tools\gtags\bin\../share/gtags/script/pygments_parser.py", line 104, in parse
lexer = self.get_lexer_by_langmap(path)
File "d:\acm\github\support\tools\gtags\bin\../share/gtags/script/pygments_parser.py", line 114, in get_lexer_by_langmap
lang = self.langmap[ext]
KeyError: '.Bat'
gtags: unexpected EOF.
--------------------------
it appears that a '.bat' file is not recognized by self.langmap.
after looking into pygments_parser.py, I found:
---------------------------------------------
def get_lexer_by_langmap(self, path):
ext = os.path.splitext(path)[1]
-> lang = self.langmap[ext]
if lang:
name = lang.lower()
if name in LANGUAGE_ALIASES:
name = LANGUAGE_ALIASES[name]
lexer = pygments.lexers.get_lexer_by_name(name)
return lexer
return None
---------------------------------------------
line 114 cannot handle extnames which don't exist in the langmap, and should be fixed as:
- lang = self.langmap[ext]
+ lang = self.langmap.get(ext, None)