Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect .a86 files as assembly language #6778

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/linguist/languages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,7 @@ Assembly:
- nasm
extensions:
- ".asm"
- ".a86"
- ".a51"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linguist requires extension lists to be sorted case-sensitively (sans the first entry, which is considered the “primary” extension), which means .a86 should follow .a51, not precede it.

   extensions:
   - ".asm"
   - ".a51"
+  - ".a86"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't see that, sorry. Will change it later. However, afaik, .A51 (Intel 8051 I think) is not the same "language" as x86 assembly (8086, i286, i386 and co.). I see that Motorola 68K has its own thing, so maybe Intel 8051 should also have its own definition/whatever you call it? I can clearly see that GitHub is trying to apply the x86 syntax highlighting to the sample .A51 file. Maybe I should open an issue for that?

Again, sorry for not reading the contribution guidelines properly before opening this PR.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that Motorola 68K has its own thing

Motorola 68K is grouped under Assembly, which means M68K falls under the Assembly umbrella for the purposes of language classification.

Motorola 68K Assembly:
type: programming
color: "#005daa"
group: Assembly
aliases:
- m68k
extensions:
- ".asm"
- ".i"
- ".inc"
- ".s"
- ".x68"
tm_scope: source.m68k
ace_mode: assembly_x86
language_id: 477582706

The reason for making this distinction in the first place is to employ more accurate syntax highlighting (note the tm_scope field above). E.g., XML property lists use a specialised grammar for highlighting the specialised XML subset used by plist(5), even though there's nothing wrong with XML's usual grammar.

- ".i"
- ".inc"
Expand Down