local api = vim.api
local M = {}
---@private
local function starsetf(ft)
return {function(path)
if not vim.g.fg_ignore_pat then
return ft
end
local re = vim.regex(vim.g.fg_ignore_pat)
if re:match_str(path) then
return ft
end
end, {
-- Starset matches should always have lowest priority
priority = -1,
}}
end
local function getline(bufnr, lnum)
return api.nvim_buf_get_lines(bufnr, lnum-1, lnum, false)[1]
end
-- Filetypes based on file extension
local extension = {
-- BEGIN EXTENSION
["8th"] = "8th",
["a65"] = "a65",
aap = "aap",
abap = "abap",
abc = "abc",
abl = "abel",
wrm = "acedb",
ads = "ada",
ada = "ada",
gpr = "ada",
adb = "ada",
tdf = "ahdl",
aidl = "aidl",
aml = "aml",
run = "ampl",
scpt = "applescript",
ino = "arduino",
pde = "arduino",
art = "art",
asciidoc = "asciidoc",
adoc = "asciidoc",
["asn1"] = "asn",
asn = "asn",
atl = "atlas",
as = "atlas",
ahk = "autohotkey",
["au3"] = "autoit",
ave = "ave",
gawk = "awk",
awk = "awk",
ref = "b",
imp = "b",
mch = "b",
bc = "bc",
bdf = "bdf",
beancount = "beancount",
bib = "bib",
bl = "blank",
bsdl = "bsdl",
bst = "bst",
bzl = "bzl",
bazel = "bzl",
BUILD = "bzl",
qc = "c",
cabal = "cabal",
cdl = "cdl",
toc = "cdrtoc",
cfc = "cf",
cfm = "cf",
cfi = "cf",
cfg = "cfg",
hgrc = "cfg",
chf = "ch",
chai = "chaiscript",
chs = "chaskell",
chopro = "chordpro",
crd = "chordpro",
crdpro = "chordpro",
cho = "chordpro",
chordpro = "chordpro",
eni = "cl",
dcl = "clean",
icl = "clean",
|