Skip to content

Commit

Permalink
Accommodate rhash(1) file-lists and odd exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
Alhadis committed Sep 29, 2022
1 parent 0660f50 commit 7f0f5da
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 1 deletion.
46 changes: 45 additions & 1 deletion grammars/sfv.cson
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,30 @@ scopeName: "source.sfv"
mimeType: "text/x-sfv"
fileTypes: ["sfv"]
firstLineMatch: "\\A; Generated by (?:(?:FTPRush|Easy SFV Creator)(?:$| )|(?:\\S+) v\\d)"
patterns: [include: "#main"]
maxLineLength: 5000
patterns: [{
# rhash(1) allows algorithms other than CRC-32 in SFV files
name: "meta.rhash-output.sfv"
begin: "\\A(?=; Generated by RHash v\\d)"
end: "(?=A)B"
patterns: [
{include: "#rhash"}
{include: "#main"}
]
},{
# Accommodate an incorrectly-named SFV file polluting GitHub Code Search
name: "text.checksums"
begin: "^(?=[a-fA-F0-9]+ \\*pocorgtfo\\d{2}\\.pdf\\s*$)"
end: "(?=A)B"
patterns: [include: "text.checksums"]
}, include: "#main"]

repository:
main:
patterns: [
{include: "#comment"}
{include: "#checksum"}
{include: "#rhash"}
]

# Comment lines
Expand Down Expand Up @@ -46,3 +63,30 @@ repository:
3: name: "punctuation.definition.string.end.sfv"
4: name: "string.unquoted.filename.sfv"
5: name: "constant.numeric.integer.int.hexadecimal.hex.crc32.sfv"

# Filename followed by a variable-length list of fixed-size checksums
rhash:
name: "meta.checksum-record.sfv"
match: "(?x) ^ \\s*
(\\S.*?(?<=\\S))
((?:
\\s+
(?: [a-fA-F0-9]{8}
| [a-fA-F0-9]{32}
| [a-fA-F0-9]{40}
| [a-fA-F0-9]{48}
| [a-fA-F0-9]{56}
| [a-fA-F0-9]{64}
| [a-fA-F0-9]{96}
| [a-fA-F0-9]{128}
| [a-zA-Z2-7]{32}
| [a-zA-Z2-7]{39}
)
)+)
(?=\\s*$)"
captures:
1: name: "string.unquoted.filename.sfv"
2: patterns: [
{match: "\\b[a-zA-Z2-7]+\\b", name: "constant.numeric.base32.rfc4648.sfv"}
{match: "\\b[a-fA-F0-9]+\\b", name: "constant.numeric.integer.int.hexadecimal.hex.sfv"}
]
5 changes: 5 additions & 0 deletions samples/pocorgtfo.sfv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
c4d1d1091187b98a9bb28452bc6564a1e8c0ce10d20ba2b4a20f8b7798f7ab64 *pocorgtfo00.pdf
a0f93a265d38257a06fd7fd210f73ea9c55a94ac1305c65c0510ada236c2cc88 *pocorgtfo01.pdf
191b636f80d0c74164ec9d9b3544decdaa2b7df5 *pocorgtfo18.pdf
5eaf00d25c14232555a51a50b126746c *pocorgtfo14.pdf
ac75bf434f3624612cc3b6ee1aa59218 *pocorgtfo19.pdf
7 changes: 7 additions & 0 deletions samples/rhash.sfv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
; Generated by RHash v1.4.2 on 2022-09-29 at 15:21.00
; Written by Kravchenko Aleksey (Akademgorodok) - https://rhash.sf.net/
;
; 7469 01:50.45 2022-06-07 samples/lists/curlrc-options.tsv
; 7075 05:32.53 2021-02-18 samples/lists/scope-previews.nanorc
samples/lists/curlrc-options.tsv 6FD37C94 43C16399EBBFA02E138F678660B49F21 A5EDAE46876476B65F17EC058B2A2344 4B742F220F098AF6F9147AE7CE7019D405DFC499 9F3B4A2C5165AF598890B1B98A4E653C174F581567CFDD82 5Q4MLXOJIK7XU7WLKQ6ZNJWF47OSK2GU3IFOHXA 9427D999FE2D2E13395DF519FFC409B26AFEE853 43C16399EBBFA02E138F678660B49F21 JN2C6IQPBGFPN6IUPLT444AZ2QC57REZ 27A041F5414667044BE690E4E3406BA61D897CA49D6D9FF111070C19BD7826B854EC55D5B985E200CCD1152DAE9D2A0FE33B607F6A38111F6A43D750554E5DDE BF56B27EAC8A8D3CE38D6ED5F584859FA2882C54 99B8C734CA7C18745F9C40D9C7EBD433E03D728C1521CF9FCDF6C39ACA2B43B5 9308711EB60802F412A5DB1D09375249A65D0FFCA21450BBEFBCBCED969819E2 47422F47A256AD012750346B46B1F4F26B9B18BC 9CB30D36E478FD488D0C2C79F4B57CC1F22C4920864AEDF0AF6C1837E11947F4 3380A5EC9C20BE3B94B46D8A13DDA48D18AA654C9C54490825BB5D452F785D3506F84A83A2F6BBC08439CE3FD9FCC4C81A9D3350583204E00DAF7009B005A200 131EAC11CF6F8FE8FFC635A25C348A040FD4D65F1683F27EE163DED1 3AD18B1258846C1D04671F1D0B5774CA71A211FF99DF96FA57869C00BF3ABA58 0276D7D7B9BD9268BC481E6B5300E4A1D1EFA63661B4D74375B0A7645C6FFD4A5BE3721D1B3241BCB0446E66313A8047 ADBB7B68E2B4B9F9DF3D4DDEF856E0A6309C92AAD90B0938CF25F0D4AE62694395899A0F86CA5EDDAF087F4C0AE2B3C33A5791452A15ADF2D1B31FD1CBDF143B 8115F81BE4FC6730FA97904D33ADC138EBADD504562182A7E70ADD70BFC09939 9DFCE447A063BB851D391A54060C5F084FD9B28408BA13032FB84CE697950B8F2BD8320A72848C3464C89C618B3ABD6A65880FA0D42061A2F8B72DF2F48DF291 1C52EAECAAC9EBEFB3471CD2CCF673EF869176631F61F4BBF0A7410D F2628D706A9D4CD888B36E422FAE129D85F8E9F59B6F88C11DF57D6B7C9FFC53 B73B0F0D04DDD973F84D16195E553E744C8BA1C66BD6EC28F43C267C350006CFE720930B13A29A8855CA6444FF185FBC D069D1E02596ADC8EFDB79A525DA4F4B97F5E14E8FF51232DD40C9091C742FAE9F100682C4504569621255ACD5C2B8A1F117709080B6CAF2E2932B4BB686E508 54EA3B67 5F0B88B0D084D89D011E5AED9E5A1C4C 3BCB3E6C7394BF3168C94F7D60EE151C93C9C516131CC9FA0871B4AE2BA9CA7C 063A877D81443D98EA59067129E27B768D21C5F1EB989E7F354C02CE2AE71A19 C68151597169446A18561D6444D6674E799036D66CDCBD8D7991F73F4C059BB256157F6582001DDE548AB960A2F99061697F6E46B8DF13061D8C7E27F649F46F
samples/lists/scope-previews.nanorc 21D12548 A34662BE8D729CC61BD4EB38817916B7 F7A11D5B4990A84E18C5F10B09A13EE8 08B1A0B1FFDF4F464B500B36B848F01CE447E0A4 CCDA8378C94DFB67785E92D87D2FD4E4E0A5D306A6497B3B MV2KPEJYLLLRMKUUC472YABKDDD5C7B2ARWNSFQ F741BAC90872A3C6D6B582414F7A52E3643270CB A34662BE8D729CC61BD4EB38817916B7 BCY2BMP735HUMS2QBM3LQSHQDTSEPYFE DC2BBF7D27CD314D09B57BCBB3CF24FD5D1FC63164209218AB50516DF1F571FD32F7235EBE5D60F34025D60D442883E1967522AE196E10030F520E2E0C03EC1B 019E002D975AA9E1888F1F106A252131E0938DC7 F3691094E948F6558704EB11B90090C036EE1E4E67886E88B031E040E3F25E14 78BCC539B5747B70766E141FF9BF28A2744D57CF5312B6324DBB6D20A1FC057B D0442EC39BC4C8D3B0719EAD3C4EE02747154B56 5BE5EC15C467A19AF931255A4378D54BE6ED9CCE9CA4832672E8DCE58A49BF8A 14C97E4F5E016E9249B0BFD0877E152EEFEDC31DDCB6B2EBB244B8B4D55B017127C9C487C00EC8C30DB6FB1782DAB0809CD94443FFBA2875D241CD7328B81010 957C52B1C55563931FD37AE2DE6A0E7CA50030159AD9AF41F1D5FD92 B784B1D810E1A55EB9929F24F61B11CBD5B122C3B5F0441E59BE40E915553ACD 6A3104C767A1CF609D8B208BC48586E903409F0857A10396D72459D3EFE399BD21410B60C81FBB24B15A2910B9A41820 ECF78F8CB8DC14AC677708EDCF913D3FED696A705D16D71507CF79E964877962B7DEA31986CED710B533FBCF1629FF4E494EA81034516C96E9D6CA5906CE2A65 53F831EBF950392D28EEBE750BDC90FE9903503F41FBFDA7CA67EDB58F76383D 75DE5DB0CDB0BEF028E3D3999C44D25E064567B13C4756E224C26A7537EE7BE09EEFB0F5079F92FA7A3931DDE4D2E7327E10C6949957084CD0C69C29B6B08F56 004943E5512F5509EF480D829B5144B5B580136344F2E2EF1F19B76F FBC4F1898CC01045797A14FD079DE5AFCCF32DF9C329DD2F4C1CAD1D0221B7D5 067C774D78CCD44E3E4412162EB37488DE566E9C1E0627FB1F5EA10F41469166C65C9AC3CBFC0708DF4E03314049DC67 C9DBE2DE4A2A966DAAD3EBDA633CB3291EB67661D35C9BDFC65D971D2DC6ADFA13E15F1AD08D6950E61992996D509CDD52A1F4F060C7CBEECAECD1AB93C85C86 CD127E9E 41F57F7412C8CB1349BFBD42C2F75950 79143F2BC058439DCE7980FA24491012A42D4B101A67E35B6DA452F3B3C00326 4936C23E4B84BF33BD708FACA09B7570D5F171C5BC314081C0CBACCF0E945191 DB76E3B95F75C3CD8202F01F59040F252EC47BB6B39164ED57946AF93AF36B3633D51F3E161FC142ED3312624BA17896B996B5F1BE74F9D9AB2D8F1F678D833B

0 comments on commit 7f0f5da

Please sign in to comment.