@@ -85,6 +85,18 @@ def detect_language_from_comment(code):
8585 return (first_file , lang_code )
8686 return None
8787
88+ def detect_language_from_alias (invoked_name ):
89+ """Detect language from command alias.
90+ Returns: (filepath, lang_code) or None"""
91+ command = os .path .basename (invoked_name ).lower ()
92+ lang_code = DEFAULT_ALIAS_MAP .get (command )
93+
94+ if lang_code and lang_code in DEFAULT_LANGUAGE_MAP :
95+ lang_files = DEFAULT_LANGUAGE_MAP [lang_code ]
96+ first_file = next (iter (lang_files .values ())) if lang_files else None
97+ return (first_file , lang_code )
98+ return None
99+
88100def determine_language (args , filename , code ):
89101 """Determine target language based on priority rules"""
90102 detected_dictionary = None
@@ -99,6 +111,7 @@ def determine_language(args, filename, code):
99111 else :
100112 detected_dictionary , detected_lang = (detect_language_from_comment (code ) or
101113 detect_language_from_filename (filename ) or
114+ detect_language_from_alias (sys .argv [0 ]) or
102115 (None , None ))
103116
104117 # Update source_language with the detected language if not explicitly set
@@ -184,12 +197,6 @@ def main():
184197
185198 args = vars (ap .parse_args ())
186199
187- invoked_as = os .path .splitext (os .path .basename (sys .argv [0 ]))[0 ].lower ()
188- auto_language = DEFAULT_ALIAS_MAP .get (invoked_as )
189-
190- if auto_language and not args .get ('source_language' ):
191- args ['source_language' ] = auto_language
192-
193200 filename = args ["file" ][0 ]
194201 with open (filename , encoding = 'utf-8' ) as code_pyfile :
195202 code = code_pyfile .read ()
0 commit comments