Current File : //proc/self/root/usr/share/highlight/plugins/cpp_syslog.lua |
--[[
Sample plugin file for highlight 3.1
Adds additional keywords to C++ syntax description and corresponding
formatting in colour theme
USAGE: highlight -I main.cpp --plug-in=plugin.lua
]]
Description="Add syslog and kernel log levels to C and C++ keywords"
-- function to update language definition with syslog levels
-- optional parameter: syntax description
function syntaxUpdate(desc)
if desc=="C and C++" then
-- insert syslog level for C and C++
table.insert( Keywords,
{ Id=5, List={"LOG_EMERG", "LOG_CRIT", "LOG_ALERT",
"LOG_ERR", "LOG_WARNING","LOG_NOTICE","LOG_INFO",
"LOG_DEBUG",
"KERN_ERR", "KERN_INFO", "KERN_EMERG", "KERN_ALERT",
"KERN_CRIT", "KERN_WARNING", "KERN_NOTICE",
"KERN_DEBUG", "KERN_DEFAULT", "KERN_CONT" }
} )
end
end
-- function to update theme definition
-- optional parameter: theme description
function themeUpdate(desc)
--add 5th keyword style for syslog levels defined in syntaxUpdate()
if table.getn(Keywords)==4 then
table.insert(Keywords, {Colour= "#ff0000", Bold=true})
end
end
--The Plugins array assigns code chunks to themes or language definitions.
--The chunks are interpreted after the theme or lang file were parsed,
--so you can refer to elements of these files
Plugins={
{ Type="theme", Chunk=themeUpdate },
{ Type="lang", Chunk=syntaxUpdate },
}