Module:API info/util/github search

From Warcraft Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:API info/util/github search/doc

local m = {}

-- case sensitive matching https://github.com/orgs/community/discussions/9759
local URL = "https://github.com/search?type=code&q=/(?-i)%s/"

-- https://docs.github.com/en/search-github/github-code-search/understanding-github-code-search-syntax
local params = {
	"language:Lua",
	"NOT+is:fork",

	-- FrameXML
	"NOT+path:Interface",
	"NOT+path:FrameXML",
	"NOT+path:GlueXML",
	"NOT+path:SharedXML",
	"NOT+path:AddOns", -- filters out FrameXML Blizzard AddOns and user addon mirrors
	"NOT+repo:BigWigsMods/WoWUI",
	"NOT+repo:liquidbase/wowui-source",

	-- interface resources
	"NOT+owner:Ketho",
	"NOT+path:.luacheckrc",
	"NOT+repo:Resike/BlizzardInterfaceResources",
	"NOT+repo:mrbuds/wow-api-web",
	"NOT+repo:arkanoid1/WowApi",
	"NOT+repo:refaim/Vanilla-WoW-Lua-Definitions",

	-- dev tools
	"NOT+repo:Ellypse/IntelliJ-IDEA-Lua-IDE-WoW-API",
	"NOT+repo:ChrisKader/wowapi",
	"NOT+repo:nebularg/wow-selene-parser",
	"NOT+repo:Resike/LuaLSP",
	"NOT+repo:MrMartin92/vscode-lua-wow",
	"NOT+repo:ketho-wow/KethoDoc",
	"NOT+path:data/impl", -- https://github.com/wowless/wowless/tree/main/data/impl

	-- libs
	"NOT+path:wow-api.lua", "NOT+path:wow-widget-api.lua", -- SDK for Lua IntelliJ Plugin
	"NOT+path:textentry.lua", -- Details Framework https://github.com/Tercioo/EnemyGrid/blob/master/libs/DF/textentry.lua

	-- luacats/emmylua
	"NOT+repo:papa-smurf/Gargul",
	"NOT+repo:Bhahlou/DahBooCustomizedGargul",
	"NOT+repo:nwpark/WeakAuraGenerator",
	"NOT+repo:turulix/PPAutoMacro",

	-- user addon mirrors
	-- "NOT+repo:Subwaytime/wow-addons",
	-- "NOT+repo:ZenonWow/addons-548",

	-- popular mirrors
	"(path:WeakAuras+AND+repo:WeakAuras/WeakAuras2+OR+NOT+path:WeakAuras)",
	"(path:ElvUI+AND+repo:tukui-org/ElvUI+OR+NOT+path:ElvUI)",
	 -- already at space limit
}

function m.main(f)
	local query = table.concat(params, "+")
	return URL.."+"..query
end

return m