Detect `.a86` files as assembly language
Added .A86 to the list of extensions for assembly language. .A86 was an extension used by 8086 assembly language source files in the late 70s and early 80s.
Description
This pull request makes linguist detect .A86 files as x86 assembly language source code. People used to cross assemble 8086 code from 8080/Z80 machines, and .ASM was already reserved for the native assembly language of those machines, so they used .A86 instead. CP/M-86's ASM-86 and Seattle Computer Products' 8086 Cross Assembler, two of the earliest 8086 assemblers, both used the .A86 extension. GitHub currently does not detect .A86 files as assembly language.
Checklist:
- [x] I am adding a new extension to a language.
- [x] The new extension is used in hundreds of repositories on GitHub.com
- Search results for each extension:
- https://github.com/search?type=code&q=NOT+is%3Afork+path%3A*.A86+JNZ
- Search results for each extension:
- [x] I have included a real-world usage sample for all extensions added in this PR:
- Sample source(s):
- https://github.com/antlr/grammars-v4/blob/master/asm/asm8086/examples/ROM.A86
- https://github.com/erkyrath/infocom-zcode-terps/blob/master/cpm86/zip.a86
- https://github.com/the-grue/OpenDOS/blob/master/IBMDOS/FDOS.A86
- Sample license(s):
- Sample source(s):
- [ ] I have included a change to the heuristics to distinguish my language from others using the same extension.
- [x] The new extension is used in hundreds of repositories on GitHub.com
You need to add the sample you reference to the PR 😉
With all due respect, I do not get why a sample is needed. There is no difference between a .ASM and a .A86 file, the only difference is the 3-letter extension. However, I have added a sample as requested.
You need to add the sample you reference to the PR 😉
With all due respect, I do not get why a sample is needed. There is no difference between a .ASM and a .A86 file, the only difference is the 3-letter extension. However, I have added a sample as requested.
Whilst this language is the only user of this extension now and there are other extensions for the same language, it may not be the case in future in which case we may need to fall back to to the classifier which is trained off these samples. So whilst it seems pointless now, we can’t say that in future so it’s best to preempt things and prepare for the future now whilst this is fresh in people’s minds.
I looked around and saw that a lot of other pull requests included multiple samples, so I've added in another .A86 file.
Whilst this language is the only user of this extension now and there are other extensions for the same language, it may not be the case in future in which case we may need to fall back to to the classifier which is trained off these samples.
I see now, thanks!
By the way, I have a few questions:
- What is the "Pending Popularity" tag? My understanding is that the language is not popular enough for the PR to be merged, is this correct? If so, how many repos are required before this PR can be considered? I read in the contribution guideline that the number is 200, however we have about 1.4K .A86 files on GitHub (which should be more than 200 repos).
- Do I have to tick all boxes of the checklist? I feel like the last one is sort if irrelevant considering that this extension is currently only used by one language.
Sincerely, Pig
1. What is the "Pending Popularity" tag? My understanding is that the language is not popular enough for the PR to be merged, is this correct? If so, how many repos are required before this PR can be considered? I read in the contribution guideline that the number is 200, however we have about 1.4K .A86 files on GitHub (which should be more than 200 repos).
Your understanding is correct, but it applies per extension too. https://github.com/github-linguist/linguist/issues/5756 as referenced in the CONTRIBUTING.md file details how we're determining popularity at the moment. We re-assess whenever we're close to making a new release which happens approximately every 3-4 months inline with the GitHub Enterprise Server release cycle.
2. Do I have to tick all boxes of the checklist? I feel like the last one is sort if irrelevant considering that this extension is currently only used by one language.
Nope. Only those that apply. This last point doesn't apply as the extension is unique.
Thanks for the fast reply! I have replaced the big file with a smaller one, hopefully it should be fine now and no more changes are required.
Sincerely, Pig
Looks good. The only thing needed now is for the license to be specified for each sample in the template. We can only accept open-source licensed files and the license needs to be specified in the template.
Looks good. The only thing needed now is for the license to be specified for each sample in the template. We can only accept open-source licensed files and the license needs to be specified in the template.
Bruh. Ok, well, how do I do that? I looked at a few other PRs and can't find where they've included the license. I'm thinking about writing my own .A86 samples at this point.
Sincerely, Pig
You don't need to include the license in the PR. We only need them to be stated inline with the links or on the "Sample license(s):" line in the template.