|
From: | Shigio YAMAGUCHI |
Subject: | Re: [GNU Global] new issue - langmap exceptions in pygments_parser.py |
Date: | Mon, 11 Jun 2018 10:01:25 +0900 |
Hello,
Lewis's patch will hide the error by skipping mixed-case files such as *.Bat.
But the root cause should be fixed.
Attached patch fixes incorrect handling of mixed-case files on
Windows, that was the root cause.
BR,
2018-05-30 12:50 GMT+09:00 Shigio YAMAGUCHI <address@hidden>:
> Hello,
> I have committed your patch.
> Thank you.
>
> Regards,
> Shigio
>
>
> 2018-05-29 19:31 GMT+09:00 Lewis Lin <address@hidden>:
>>
>> 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)
>>
>>
>> ________________________________
>> skywind3000
>>
>>
>>
>> _______________________________________________
>> Bug-global mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/bug-global
>>
>
>
>
> --
> Shigio YAMAGUCHI <address@hidden>
> PGP fingerprint:
> 26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
>
> _______________________________________________
> Bug-global mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-global
>
[Prev in Thread] | Current Thread | [Next in Thread] |