Fails to build on Darwin:
clang++ -shared -s highlight_wrap.o -L../../src/ -lhighlight -L/nix/store/bi85dm5dqzjfm0i9qj3ijjj9w9xayy8w-lua-5.2.4/lib -llua -lm -o highlight.so
ld: warning: option -s is obsolete and being ignored
Undefined symbols for architecture x86_64:
"_PL_markstack_max", referenced from:
__wrap_DataDir_getLangPath in highlight_wrap.o
__wrap_DataDir_getThemePath in highlight_wrap.o
__wrap_DataDir_getFiletypesConfPath in highlight_wrap.o
__wrap_DataDir_getPluginPath in highlight_wrap.o
__wrap_DataDir_guessFileType in highlight_wrap.o
__wrap_SyntaxReader_initLuaState in highlight_wrap.o
__wrap_new_RegexElement in highlight_wrap.o
...
"_PL_markstack_ptr", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_PL_stack_base", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_PL_stack_sp", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_PL_sv_immortals", referenced from:
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o
...
"_Perl_croak", referenced from:
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getLangPath in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
...
"_Perl_get_sv", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
...
"_Perl_gv_add_by_type", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_gv_init_pvn", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_hv_common", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_hv_common_key_len", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_markstack_grow", referenced from:
__wrap_DataDir_getLangPath in highlight_wrap.o
__wrap_DataDir_getThemePath in highlight_wrap.o
__wrap_DataDir_getFiletypesConfPath in highlight_wrap.o
__wrap_DataDir_getPluginPath in highlight_wrap.o
__wrap_DataDir_guessFileType in highlight_wrap.o
__wrap_SyntaxReader_initLuaState in highlight_wrap.o
__wrap_new_RegexElement in highlight_wrap.o
...
"_Perl_mg_find", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
_boot_highlight in highlight_wrap.o
"_Perl_mg_get", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o
"_Perl_newRV_noinc", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_newSV", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_newSV_type", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_newSViv", referenced from:
__wrap_SyntaxReader_load in highlight_wrap.o
__wrap_SyntaxReader_getKeywordListGroup in highlight_wrap.o
__wrap_SyntaxReader_getPersistentSnippetsNum in highlight_wrap.o
__wrap_SyntaxReader_getOpenDelimiterID in highlight_wrap.o
__wrap_RegexElement_open_get in highlight_wrap.o
__wrap_RegexElement_end_get in highlight_wrap.o
__wrap_RegexElement_capturingGroup_get in highlight_wrap.o
...
"_Perl_newSVuv", referenced from:
__wrap_SyntaxReader_getRawStringPrefix in highlight_wrap.o
__wrap_SyntaxReader_getContinuationChar in highlight_wrap.o
__wrap_RegexElement_kwClass_get in highlight_wrap.o
__wrap_RegexElement_priority_get in highlight_wrap.o
__wrap_RegexElement_constraintLineNum_get in highlight_wrap.o
__wrap_ReGroup_length_get in highlight_wrap.o
__wrap_ReGroup_kwClass_get in highlight_wrap.o
...
"_Perl_newXS", referenced from:
_boot_highlight in highlight_wrap.o
"_Perl_sv_2bool_flags", referenced from:
SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o
"_Perl_sv_2iv_flags", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_AsVal_unsigned_SS_int(sv*, unsigned int*) in highlight_wrap.o
_boot_highlight in highlight_wrap.o
SWIG_AsVal_long(sv*, long*) in highlight_wrap.o
SWIG_AsVal_double(sv*, double*) in highlight_wrap.o
"_Perl_sv_2mortal", referenced from:
__wrap_SyntaxReader_load in highlight_wrap.o
__wrap_SyntaxReader_getRawStringPrefix in highlight_wrap.o
__wrap_SyntaxReader_getContinuationChar in highlight_wrap.o
__wrap_SyntaxReader_getKeywordListGroup in highlight_wrap.o
__wrap_SyntaxReader_getPersistentSnippetsNum in highlight_wrap.o
__wrap_SyntaxReader_getOpenDelimiterID in highlight_wrap.o
__wrap_RegexElement_open_get in highlight_wrap.o
...
"_Perl_sv_2nv_flags", referenced from:
SWIG_AsVal_double(sv*, double*) in highlight_wrap.o
"_Perl_sv_2pv_flags", referenced from:
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
...
"_Perl_sv_2uv_flags", referenced from:
SWIG_AsVal_unsigned_SS_int(sv*, unsigned int*) in highlight_wrap.o
SWIG_AsVal_long(sv*, long*) in highlight_wrap.o
"_Perl_sv_bless", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_sv_free2", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_sv_isobject", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
...
"_Perl_sv_magic", referenced from:
_boot_highlight in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_sv_newmortal", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_Perl_sv_setiv", referenced from:
_boot_highlight in highlight_wrap.o
"_Perl_sv_setpvf", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_Perl_sv_setpvn", referenced from:
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_2 in highlight_wrap.o
...
"_Perl_sv_setref_pv", referenced from:
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_SyntaxReader_getKeywords in highlight_wrap.o
__wrap_SyntaxReader_getKeywordClasses in highlight_wrap.o
__wrap_SyntaxReader_getRegexElements in highlight_wrap.o
__wrap_SyntaxReader_getPersistentSnippets in highlight_wrap.o
...
"_Perl_sv_setsv_flags", referenced from:
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_2 in highlight_wrap.o
...
ld: symbol(s) not found for architecture x86_64
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
This commit changes the console colors implementation
to use the kernel parameters instead of relying on terminal
escape sequences. This means the palette is applied by the
kernel itself with no custom code running in the initrd
and works for all virtual terminals (not only tty0).