Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelfmz <fenix1905@tut.by>2022-11-10 00:31:59 +0300
committerelfmz <fenix1905@tut.by>2022-11-10 00:31:59 +0300
commite00ad0b5012aed794900b642de3c93ab71c45ec0 (patch)
treecf26eb7ae72a5f617252d5e5e6d1574d2200907c
parent5bc4cca57baeaa694fd31f31401a56839f6730bc (diff)
fixes for underlined and crossed out characters; more tuning of truecolor colorer palette
-rw-r--r--WinPort/src/Backend/TTY/TTYOutput.cpp5
-rw-r--r--WinPort/src/Backend/WX/Paint.cpp23
-rw-r--r--WinPort/src/WinPortHandle.cpp3
-rw-r--r--colorer/configs/base/hrc/base/asm.hrc24
-rw-r--r--colorer/configs/base/hrc/base/c-unix.ent.hrc24
-rw-r--r--colorer/configs/base/hrc/base/c.hrc10
-rw-r--r--colorer/configs/base/hrc/base/cpp.hrc1
-rw-r--r--colorer/configs/base/hrc/base/zz-c.txt130
-rw-r--r--colorer/configs/base/hrc/base/zz-consts.hrx440
-rw-r--r--colorer/configs/base/hrc/base/zz-consts.txt518
-rw-r--r--colorer/configs/base/hrc/base/zz-posix.hrx169
-rw-r--r--colorer/configs/base/hrc/base/zz-posix.txt176
-rw-r--r--colorer/configs/base/hrc/lib/default.hrc1
-rw-r--r--colorer/configs/base/hrd/rgb/default.hrd14
-rw-r--r--colorer/src/pcolorer2/FarEditor.cpp59
15 files changed, 1548 insertions, 49 deletions
diff --git a/WinPort/src/Backend/TTY/TTYOutput.cpp b/WinPort/src/Backend/TTY/TTYOutput.cpp
index e09739a3..2cd6eb49 100644
--- a/WinPort/src/Backend/TTY/TTYOutput.cpp
+++ b/WinPort/src/Backend/TTY/TTYOutput.cpp
@@ -21,8 +21,7 @@
#define ESC "\x1b"
#define ATTRIBUTES_AFFECTING_BACKGROUND \
- (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY \
- | BACKGROUND_TRUECOLOR | COMMON_LVB_UNDERSCORE | COMMON_LVB_STRIKEOUT)
+ (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY | BACKGROUND_TRUECOLOR)
void TTYOutput::TrueColors::AppendSuffix(std::string &out, DWORD rgb)
{
@@ -62,7 +61,7 @@ void TTYOutput::WriteUpdatedAttributes(DWORD64 attr, bool is_space)
}
if (is_space && (xa & ATTRIBUTES_AFFECTING_BACKGROUND) == 0) {
if ((attr & BACKGROUND_TRUECOLOR) == 0 || GET_RGB_BACK(xa) == 0) {
- if ( ((attr | _prev_attr) & COMMON_LVB_REVERSE_VIDEO) == 0) {
+ if ( ((attr | _prev_attr) & (COMMON_LVB_REVERSE_VIDEO | COMMON_LVB_UNDERSCORE | COMMON_LVB_STRIKEOUT)) == 0) {
return;
}
}
diff --git a/WinPort/src/Backend/WX/Paint.cpp b/WinPort/src/Backend/WX/Paint.cpp
index 1eabb702..8aa7580f 100644
--- a/WinPort/src/Backend/WX/Paint.cpp
+++ b/WinPort/src/Backend/WX/Paint.cpp
@@ -700,11 +700,15 @@ void WXCustomDrawChar::Painter::FillPixel(wxCoord left, wxCoord top)
void ConsolePainter::NextChar(unsigned int cx, DWORD64 attributes, const wchar_t *wcz, unsigned int nx)
{
+ if (!wcz[0] || !WCHAR_IS_VALID(wcz[0])) {
+ wcz = L" ";
+ }
+
WXCustomDrawChar::DrawT custom_draw = nullptr;
- if (!wcz[0] || (!wcz[1] && (wcz[0] == L' ' || !WCHAR_IS_VALID(wcz[0]) || (_context->IsCustomDrawEnabled()
+ if ((!wcz[1] && (wcz[0] == L' ' || (_context->IsCustomDrawEnabled()
&& (custom_draw = WXCustomDrawChar::Get(wcz[0])) != nullptr)))) {
- if (!_buffer.empty())
+ if (!_buffer.empty())
FlushBackground(cx + nx - 1);
FlushText(cx + nx - 1);
}
@@ -712,7 +716,10 @@ void ConsolePainter::NextChar(unsigned int cx, DWORD64 attributes, const wchar_t
const WinPortRGB &clr_back = ConsoleBackground2RGB(attributes);
PrepareBackground(cx, clr_back, nx);
- if (!wcz[0] || (!wcz[1] && (wcz[0] == L' ' || !WCHAR_IS_VALID(wcz[0])))) {
+ const bool underlined = (attributes & COMMON_LVB_UNDERSCORE) != 0;
+ const bool strikeout = (attributes & COMMON_LVB_STRIKEOUT) != 0;
+
+ if (!strikeout && !underlined && wcz[0] == L' ' && !wcz[1]) {
return;
}
@@ -722,15 +729,19 @@ void ConsolePainter::NextChar(unsigned int cx, DWORD64 attributes, const wchar_t
FlushBackground(cx + nx);
WXCustomDrawCharPainter cdp(*this, clr_text, clr_back);
custom_draw(cdp, _start_y, cx);
- FlushDecorations(cx);
+ if (underlined || strikeout) {
+ _start_cx = cx;
+ _prev_underlined = underlined;
+ _prev_strikeout = strikeout;
+ _clr_text = clr_text;
+ FlushDecorations(cx + nx);
+ }
_start_cx = (unsigned int)-1;
_prev_fit_font_index = 0;
return;
}
uint8_t fit_font_index = _context->CharFitTest(_dc, wcz);
- const bool underlined = (attributes & COMMON_LVB_UNDERSCORE) != 0;
- const bool strikeout = (attributes & COMMON_LVB_STRIKEOUT) != 0;
if (fit_font_index == _prev_fit_font_index && _prev_underlined == underlined && _prev_strikeout == strikeout
&& _start_cx != (unsigned int)-1 && _clr_text == clr_text && _context->IsPaintBuffered()) {
diff --git a/WinPort/src/WinPortHandle.cpp b/WinPort/src/WinPortHandle.cpp
index 4aef8208..a4fa01c6 100644
--- a/WinPort/src/WinPortHandle.cpp
+++ b/WinPort/src/WinPortHandle.cpp
@@ -67,7 +67,6 @@ WinPortHandle *WinPortHandle_Reference(HANDLE h)
if (g_winport_handles.find(wph)==g_winport_handles.end())
return NULL;
wph->Reference();
- }
+ }
return wph;
}
-
diff --git a/colorer/configs/base/hrc/base/asm.hrc b/colorer/configs/base/hrc/base/asm.hrc
index 0431f99c..9084899a 100644
--- a/colorer/configs/base/hrc/base/asm.hrc
+++ b/colorer/configs/base/hrc/base/asm.hrc
@@ -85,6 +85,30 @@
</scheme>
<scheme name="asm_shared">
<keywords ignorecase="yes" region="asmDefinition">
+ <word name=".global"/>
+ <word name=".globl"/>
+ <word name=".ascii"/>
+ <word name=".asciz"/>
+ <word name=".quad"/>
+ <word name=".word"/>
+ <word name=".byte"/>
+ <word name=".long"/>
+ <word name=".short"/>
+ <word name=".int"/>
+ <word name=".set"/>
+ <word name=".text"/>
+ <word name=".data"/>
+ <word name=".bss"/>
+ <word name=".align"/>
+ <word name=".purgem"/>
+ <word name=".macro"/>
+ <word name=".endm"/>
+ <word name=".endr"/>
+ <word name=".type"/>
+ <word name="%object"/>
+ <word name="%function"/>
+ </keywords>
+ <keywords ignorecase="yes" region="asmDefinition">
<word name="align"/>
<word name="db"/>
<word name="dd"/>
diff --git a/colorer/configs/base/hrc/base/c-unix.ent.hrc b/colorer/configs/base/hrc/base/c-unix.ent.hrc
index 63ab4873..6038c820 100644
--- a/colorer/configs/base/hrc/base/c-unix.ent.hrc
+++ b/colorer/configs/base/hrc/base/c-unix.ent.hrc
@@ -5,6 +5,8 @@
<scheme name="Keywords-unix" if="unix-specific">
<keywords region='KeywordConstant'>
+ <word name='AT_EMPTY_PATH'/>
+ <word name='AT_SYMLINK_FOLLOW'/>
<word name='COMMAND_LINE_SIZE'/>
<word name='TIOCM_CAR'/>
<word name='TIOCM_CD'/>
@@ -34,6 +36,9 @@
<word name='EKEYEXPIRED'/>
<word name='EKEYREJECTED'/>
<word name='EKEYREVOKED'/>
+ <word name='EADV'/>
+ <word name='EBFONT'/>
+ <word name='EDOTDOT'/>
<word name='EL2HLT'/>
<word name='EL2NSYNC'/>
<word name='EL3HLT'/>
@@ -44,15 +49,20 @@
<word name='ELIBMAX'/>
<word name='ELIBSCN'/>
<word name='ELNRANGE'/>
+ <word name='ELNRNG'/>
+ <word name='ENAVAIL'/>
<word name='EMEDIUMTYPE'/>
<word name='EMULTIHOP'/>
<word name='ENOANO'/>
+ <word name='ENOCSI'/>
<word name='ENOKEY'/>
<word name='ENOMEDIUM'/>
<word name='ENONET'/>
<word name='ENOPKG'/>
<word name='ENOTBLK'/>
+ <word name='ENOTNAM'/>
<word name='ENOTUNIQ'/>
+ <word name='EOVERFLOW'/>
<word name='EPFNOSUPPORT'/>
<word name='EREMCHG'/>
<word name='EREMOTE'/>
@@ -61,6 +71,7 @@
<word name='ERFKILL'/>
<word name='ESHUTDOWN'/>
<word name='ESOCKTNOSUPPORT'/>
+ <word name='ESRMNT'/>
<word name='ESTALE'/>
<word name='ESTRPIPE'/>
<word name='ETOOMANYREFS'/>
@@ -491,9 +502,14 @@
<word name='link'/>
<word name='lstat'/>
<word name='mkdir'/>
+ <word name='mknod'/>
<word name='mkfifo'/>
+ <word name='name_to_handle_at'/>
<word name='open'/>
+ <word name='openat'/>
+ <word name='openat2'/>
<word name='opendir'/>
+ <word name='open_by_handle_at'/>
<word name='pipe'/>
<word name='pipe2'/>
<word name='poll'/>
@@ -677,6 +693,14 @@
<word name='remap_file_pages'/>
<word name='shm_open'/>
<word name='shm_unlink'/>
+
+ <word name='setenv'/>
+ <word name='getenv'/>
+ <word name='unsetenv'/>
+ <word name='putenv'/>
+ <word name='environ'/>
+
+
</keywords>
</scheme>
diff --git a/colorer/configs/base/hrc/base/c.hrc b/colorer/configs/base/hrc/base/c.hrc
index 029c2a4b..53a937e1 100644
--- a/colorer/configs/base/hrc/base/c.hrc
+++ b/colorer/configs/base/hrc/base/c.hrc
@@ -645,6 +645,16 @@
<word name="stdin"/>
<word name="stdout"/>
<word name="stderr"/>
+ <word name="uint8_t"/>
+ <word name="int8_t"/>
+ <word name="uint16_t"/>
+ <word name="int16_t"/>
+ <word name="uint32_t"/>
+ <word name="int32_t"/>
+ <word name="uint64_t"/>
+ <word name="int64_t"/>
+ <word name="uintptr_t"/>
+ <word name="intptr_t"/>
<word name="FILE"/>
</keywords>
diff --git a/colorer/configs/base/hrc/base/cpp.hrc b/colorer/configs/base/hrc/base/cpp.hrc
index 623e514e..f226e019 100644
--- a/colorer/configs/base/hrc/base/cpp.hrc
+++ b/colorer/configs/base/hrc/base/cpp.hrc
@@ -250,6 +250,7 @@
<word name="mutex"/>
<word name="unique_lock"/>
<word name="lock_guard"/>
+ <word name="atomic"/>
<word name="char_traits"/>
<word name="basic_string"/>
diff --git a/colorer/configs/base/hrc/base/zz-c.txt b/colorer/configs/base/hrc/base/zz-c.txt
new file mode 100644
index 00000000..b63a8d60
--- /dev/null
+++ b/colorer/configs/base/hrc/base/zz-c.txt
@@ -0,0 +1,130 @@
+abort
+abs
+acos
+asctime
+asin
+atan
+atan2
+atexit
+atof
+atoi
+atol
+bsearch
+calloc
+ceil
+clearerr
+clock
+cos
+cosh
+ctime
+difftime
+div
+exit
+exp
+fabs
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+floor
+fmod
+fopen
+fprintf
+fputc
+fputs
+fread
+free
+freopen
+frexp
+fscanf
+fseek
+fsetpos
+ftell
+fwrite
+getc
+getchar
+getenv
+gets
+gmtime
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+isxdigit
+labs
+ldexp
+ldiv
+localtime
+log
+log10
+malloc
+memchr
+memcmp
+memcpy
+memmove
+memset
+mktime
+modf
+perror
+pow
+printf
+putc
+putchar
+puts
+qsort
+rand
+realloc
+remove
+rename
+rewind
+scanf
+setbuf
+setvbuf
+sin
+sinh
+sprintf
+sqrt
+srand
+sscanf
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strftime
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+strxfrm
+system
+tan
+tanh
+time
+tmpfile
+tmpname
+tolower
+toupper
+ungetc
+vfprintf
+vprintf
+vsprintf
diff --git a/colorer/configs/base/hrc/base/zz-consts.hrx b/colorer/configs/base/hrc/base/zz-consts.hrx
new file mode 100644
index 00000000..6226890a
--- /dev/null
+++ b/colorer/configs/base/hrc/base/zz-consts.hrx
@@ -0,0 +1,440 @@
+ <word name='COMMAND_LINE_SIZE'/>
+ <word name='TIOCM_CAR'/>
+ <word name='TIOCM_CD'/>
+ <word name='TIOCM_CTS'/>
+ <word name='TIOCM_DSR'/>
+ <word name='TIOCM_DTR'/>
+ <word name='TIOCM_LE'/>
+ <word name='TIOCM_OUT1'/>
+ <word name='TIOCM_OUT2'/>
+ <word name='TIOCM_RI'/>
+ <word name='TIOCM_RNG'/>
+ <word name='TIOCM_RTS'/>
+ <word name='TIOCM_SR'/>
+ <word name='TIOCM_ST'/>
+ <word name='EBADE'/>
+ <word name='EBADFD'/>
+ <word name='EBADR'/>
+ <word name='EBADRQC'/>
+ <word name='EBADSLT'/>
+ <word name='ECHRNG'/>
+ <word name='ECOMM'/>
+ <word name='EDEADLOCK'/>
+ <word name='EDQUOT'/>
+ <word name='EHOSTDOWN'/>
+ <word name='EHWPOISON'/>
+ <word name='EISNAM'/>
+ <word name='EKEYEXPIRED'/>
+ <word name='EKEYREJECTED'/>
+ <word name='EKEYREVOKED'/>
+ <word name='EL2HLT'/>
+ <word name='EL2NSYNC'/>
+ <word name='EL3HLT'/>
+ <word name='EL3RST'/>
+ <word name='ELIBACC'/>
+ <word name='ELIBBAD'/>
+ <word name='ELIBEXEC'/>
+ <word name='ELIBMAX'/>
+ <word name='ELIBSCN'/>
+ <word name='ELNRANGE'/>
+ <word name='EMEDIUMTYPE'/>
+ <word name='EMULTIHOP'/>
+ <word name='ENOANO'/>
+ <word name='ENOKEY'/>
+ <word name='ENOMEDIUM'/>
+ <word name='ENONET'/>
+ <word name='ENOPKG'/>
+ <word name='ENOTBLK'/>
+ <word name='ENOTUNIQ'/>
+ <word name='EPFNOSUPPORT'/>
+ <word name='EREMCHG'/>
+ <word name='EREMOTE'/>
+ <word name='EREMOTEIO'/>
+ <word name='ERESTART'/>
+ <word name='ERFKILL'/>
+ <word name='ESHUTDOWN'/>
+ <word name='ESOCKTNOSUPPORT'/>
+ <word name='ESTALE'/>
+ <word name='ESTRPIPE'/>
+ <word name='ETOOMANYREFS'/>
+ <word name='EUCLEAN'/>
+ <word name='EUNATCH'/>
+ <word name='EUSERS'/>
+ <word name='EXFULL'/>
+ <word name='FASYNC'/>
+ <word name='FD_CLOEXEC'/>
+ <word name='F_DUPFD'/>
+ <word name='F_EXLCK'/>
+ <word name='F_GETFD'/>
+ <word name='F_GETFL'/>
+ <word name='F_GETLK'/>
+ <word name='F_GETLK64'/>
+ <word name='F_GETOWN'/>
+ <word name='F_GETOWNER_UIDS'/>
+ <word name='F_GETOWN_EX'/>
+ <word name='F_GETSIG'/>
+ <word name='FIOASYNC'/>
+ <word name='FIOCLEX'/>
+ <word name='FIOGETOWN'/>
+ <word name='FIONBIO'/>
+ <word name='FIONCLEX'/>
+ <word name='FIONREAD'/>
+ <word name='FIOSETOWN'/>
+ <word name='F_LINUX_SPECIFIC_BASE'/>
+ <word name='F_LOCK'/>
+ <word name='F_OFD_GETLK'/>
+ <word name='F_OFD_SETLK'/>
+ <word name='F_OFD_SETLKW'/>
+ <word name='F_OWNER_PGRP'/>
+ <word name='F_OWNER_PID'/>
+ <word name='F_OWNER_TID'/>
+ <word name='F_RDLCK'/>
+ <word name='F_SETFD'/>
+ <word name='F_SETFL'/>
+ <word name='F_SETLK'/>
+ <word name='F_SETLK64'/>
+ <word name='F_SETLKW'/>
+ <word name='F_SETLKW64'/>
+ <word name='F_SETOWN'/>
+ <word name='F_SETOWN_EX'/>
+ <word name='F_SETSIG'/>
+ <word name='F_SHLCK'/>
+ <word name='F_TEST'/>
+ <word name='F_TLOCK'/>
+ <word name='F_ULOCK'/>
+ <word name='F_UNLCK'/>
+ <word name='F_WRLCK'/>
+ <word name='LOCK_EX'/>
+ <word name='LOCK_MAND'/>
+ <word name='LOCK_NB'/>
+ <word name='LOCK_READ'/>
+ <word name='LOCK_RW'/>
+ <word name='LOCK_SH'/>
+ <word name='LOCK_UN'/>
+ <word name='LOCK_WRITE'/>
+ <word name='MADV_DODUMP'/>
+ <word name='MADV_DOFORK'/>
+ <word name='MADV_DONTDUMP'/>
+ <word name='MADV_DONTFORK'/>
+ <word name='MADV_DONTNEED'/>
+ <word name='MADV_FREE'/>
+ <word name='MADV_HUGEPAGE'/>
+ <word name='MADV_HWPOISON'/>
+ <word name='MADV_KEEPONFORK'/>
+ <word name='MADV_MERGEABLE'/>
+ <word name='MADV_NOHUGEPAGE'/>
+ <word name='MADV_NORMAL'/>
+ <word name='MADV_RANDOM'/>
+ <word name='MADV_REMOVE'/>
+ <word name='MADV_SEQUENTIAL'/>
+ <word name='MADV_SOFT_OFFLINE'/>
+ <word name='MADV_UNMERGEABLE'/>
+ <word name='MADV_WILLNEED'/>
+ <word name='MADV_WIPEONFORK'/>
+ <word name='MAP_ANONYMOUS'/>
+ <word name='MAP_DENYWRITE'/>
+ <word name='MAP_EXECUTABLE'/>
+ <word name='MAP_FILE'/>
+ <word name='MAP_FIXED'/>
+ <word name='MAP_GROWSDOWN'/>
+ <word name='MAP_HUGETLB'/>
+ <word name='MAP_LOCKED'/>
+ <word name='MAP_NONBLOCK'/>
+ <word name='MAP_NORESERVE'/>
+ <word name='MAP_POPULATE'/>
+ <word name='MAP_PRIVATE'/>
+ <word name='MAP_SHARED'/>
+ <word name='MAP_SHARED_VALIDATE'/>
+ <word name='MAP_STACK'/>
+ <word name='MAP_SYNC'/>
+ <word name='MAP_TYPE'/>
+ <word name='MCL_CURRENT'/>
+ <word name='MCL_FUTURE'/>
+ <word name='MCL_ONFAULT'/>
+ <word name='MLOCK_ONFAULT'/>
+ <word name='MS_ASYNC'/>
+ <word name='MS_INVALIDATE'/>
+ <word name='MS_SYNC'/>
+ <word name='_NSIG'/>
+ <word name='O_ACCMODE'/>
+ <word name='O_APPEND'/>
+ <word name='O_CLOEXEC'/>
+ <word name='O_CREAT'/>
+ <word name='O_DIRECT'/>
+ <word name='O_DIRECTORY'/>
+ <word name='O_DSYNC'/>
+ <word name='O_EXCL'/>
+ <word name='O_LARGEFILE'/>
+ <word name='O_NDELAY'/>
+ <word name='O_NOATIME'/>
+ <word name='O_NOCTTY'/>
+ <word name='O_NOFOLLOW'/>
+ <word name='O_NONBLOCK'/>
+ <word name='O_PATH'/>
+ <word name='O_RDONLY'/>
+ <word name='O_RDWR'/>
+ <word name='__O_SYNC'/>
+ <word name='O_SYNC'/>
+ <word name='__O_TMPFILE'/>
+ <word name='O_TMPFILE'/>
+ <word name='O_TMPFILE_MASK'/>
+ <word name='O_TRUNC'/>
+ <word name='O_WRONLY'/>
+ <word name='PAGE_SIZE'/>
+ <word name='PKEY_ACCESS_MASK'/>
+ <word name='PKEY_DISABLE_ACCESS'/>
+ <word name='PKEY_DISABLE_WRITE'/>
+ <word name='POLL_BUSY_LOOP'/>
+ <word name='POLLERR'/>
+ <word name='POLLFREE'/>
+ <word name='POLLHUP'/>
+ <word name='POLLIN'/>
+ <word name='POLLMSG'/>
+ <word name='POLLNVAL'/>
+ <word name='POLLOUT'/>
+ <word name='POLLPRI'/>
+ <word name='POLLRDBAND'/>
+ <word name='POLLRDHUP'/>
+ <word name='POLLRDNORM'/>
+ <word name='POLLREMOVE'/>
+ <word name='POLLWRBAND'/>
+ <word name='POLLWRNORM'/>
+ <word name='POLLWRNORM'/>
+ <word name='PROT_EXEC'/>
+ <word name='PROT_GROWSDOWN'/>
+ <word name='PROT_GROWSUP'/>
+ <word name='PROT_NONE'/>
+ <word name='PROT_READ'/>
+ <word name='PROT_SEM'/>
+ <word name='PROT_WRITE'/>
+ <word name='RLIMIT_CORE'/>
+ <word name='RLIMIT_CPU'/>
+ <word name='RLIMIT_DATA'/>
+ <word name='RLIMIT_FSIZE'/>
+ <word name='RLIMIT_LOCKS'/>
+ <word name='RLIMIT_MSGQUEUE'/>
+ <word name='RLIMIT_NICE'/>
+ <word name='RLIMIT_RTPRIO'/>
+ <word name='RLIMIT_RTTIME'/>
+ <word name='RLIMIT_SIGPENDING'/>
+ <word name='RLIMIT_STACK'/>
+ <word name='RLIM_NLIMITS'/>
+ <word name='SCM_TIMESTAMP'/>
+ <word name='SCM_TIMESTAMPING'/>
+ <word name='SCM_TIMESTAMPING_OPT_STATS'/>
+ <word name='SCM_TIMESTAMPING_PKTINFO'/>
+ <word name='SCM_TIMESTAMPNS'/>
+ <word name='SCM_WIFI_STATUS'/>
+ <word name='SEEK_CUR'/>
+ <word name='SEEK_END'/>
+ <word name='SEEK_SET'/>
+ <word name='S_IFBLK'/>
+ <word name='S_IFCHR'/>
+ <word name='S_IFDIR'/>
+ <word name='S_IFMT'/>
+ <word name='S_IFREG'/>
+ <word name='SIGABRT'/>
+ <word name='SIGALRM'/>
+ <word name='SIG_BLOCK'/>
+ <word name='SIGBUS'/>
+ <word name='SIGCHLD'/>
+ <word name='SIGCONT'/>
+ <word name='SIG_DFL'/>
+ <word name='SIG_ERR'/>
+ <word name='SIGFPE'/>
+ <word name='SIGHUP'/>
+ <word name='SIG_IGN'/>
+ <word name='SIGILL'/>
+ <word name='SIGINT'/>
+ <word name='SIGIO'/>
+ <word name='SIGIOT'/>
+ <word name='SIGKILL'/>
+ <word name='SIGLOST'/>
+ <word name='SIGPIPE'/>
+ <word name='SIGPOLL'/>
+ <word name='SIGPROF'/>
+ <word name='SIGPWR'/>
+ <word name='SIGQUIT'/>
+ <word name='SIGRTMAX'/>
+ <word name='SIGRTMIN'/>
+ <word name='SIGSEGV'/>
+ <word name='SIG_SETMASK'/>
+ <word name='SIGSTKFLT'/>
+ <word name='SIGSTOP'/>
+ <word name='SIGSYS'/>
+ <word name='SIGTERM'/>
+ <word name='SIGTRAP'/>
+ <word name='SIGTSTP'/>
+ <word name='SIGTTIN'/>
+ <word name='SIGTTOU'/>
+ <word name='SIG_UNBLOCK'/>
+ <word name='SIGUNUSED'/>
+ <word name='SIGURG'/>
+ <word name='SIGUSR1'/>
+ <word name='SIGUSR2'/>
+ <word name='SIGVTALRM'/>
+ <word name='SIGWINCH'/>
+ <word name='SIGXCPU'/>
+ <word name='SIGXFSZ'/>
+ <word name='SIOCATMARK'/>
+ <word name='SIOCGPGRP'/>
+ <word name='SIOCGSTAMP'/>
+ <word name='SIOCGSTAMPNS'/>
+ <word name='SIOCSPGRP'/>
+ <word name='S_IRGRP'/>
+ <word name='S_IROTH'/>
+ <word name='S_IRUSR'/>
+ <word name='S_IRWXG'/>
+ <word name='S_IRWXO'/>
+ <word name='S_IRWXU'/>
+ <word name='S_ISGID'/>
+ <word name='S_ISUID'/>
+ <word name='S_IWGRP'/>
+ <word name='S_IWOTH'/>
+ <word name='S_IWUSR'/>
+ <word name='S_IXGRP'/>
+ <word name='S_IXOTH'/>
+ <word name='S_IXUSR'/>
+ <word name='SO_ACCEPTCONN'/>
+ <word name='SO_ATTACH_BPF'/>
+ <word name='SO_ATTACH_FILTER'/>
+ <word name='SO_ATTACH_REUSEPORT_CBPF'/>
+ <word name='SO_ATTACH_REUSEPORT_EBPF'/>
+ <word name='SO_BINDTODEVICE'/>
+ <word name='SO_BPF_EXTENSIONS'/>
+ <word name='SO_BROADCAST'/>
+ <word name='SO_BSDCOMPAT'/>
+ <word name='SO_BUSY_POLL'/>
+ <word name='SO_CNX_ADVICE'/>
+ <word name='SO_COOKIE'/>
+ <word name='SO_DEBUG'/>
+ <word name='SO_DETACH_BPF'/>
+ <word name='SO_DETACH_FILTER'/>
+ <word name='SO_DOMAIN'/>
+ <word name='SO_DONTROUTE'/>
+ <word name='SO_ERROR'/>
+ <word name='SO_GET_FILTER'/>
+ <word name='SO_INCOMING_CPU'/>
+ <word name='SO_INCOMING_NAPI_ID'/>
+ <word name='SO_KEEPALIVE'/>
+ <word name='SO_LINGER'/>
+ <word name='SO_LOCK_FILTER'/>
+ <word name='SOL_SOCKET'/>
+ <word name='SO_MARK'/>
+ <word name='SO_MAX_PACING_RATE'/>
+ <word name='SO_MEMINFO'/>
+ <word name='SO_NO_CHECK'/>
+ <word name='SO_NOFCS'/>
+ <word name='SO_OOBINLINE'/>
+ <word name='SO_PASSCRED'/>
+ <word name='SO_PASSSEC'/>
+ <word name='SO_PEEK_OFF'/>
+ <word name='SO_PEERCRED'/>
+ <word name='SO_PEERGROUPS'/>
+ <word name='SO_PEERNAME'/>
+ <word name='SO_PEERSEC'/>
+ <word name='SO_PRIORITY'/>
+ <word name='SO_PROTOCOL'/>
+ <word name='SO_RCVBUF'/>
+ <word name='SO_RCVBUFFORCE'/>
+ <word name='SO_RCVLOWAT'/>
+ <word name='SO_RCVTIMEO'/>
+ <word name='SO_REUSEADDR'/>
+ <word name='SO_REUSEPORT'/>
+ <word name='SO_RXQ_OVFL'/>
+ <word name='SO_SECURITY_AUTHENTICATION'/>
+ <word name='SO_SECURITY_ENCRYPTION_NETWORK'/>
+ <word name='SO_SECURITY_ENCRYPTION_TRANSPORT'/>
+ <word name='SO_SELECT_ERR_QUEUE'/>
+ <word name='SO_SNDBUF'/>
+ <word name='SO_SNDBUFFORCE'/>
+ <word name='SO_SNDLOWAT'/>
+ <word name='SO_SNDTIMEO'/>
+ <word name='SO_TIMESTAMP'/>
+ <word name='SO_TIMESTAMPING'/>
+ <word name='SO_TIMESTAMPNS'/>
+ <word name='SO_TYPE'/>
+ <word name='SO_WIFI_STATUS'/>
+ <word name='SO_ZEROCOPY'/>
+ <word name='STDERR_FILENO'/>
+ <word name='STDIN_FILENO'/>
+ <word name='STDOUT_FILENO'/>
+ <word name='TCFLSH'/>
+ <word name='TCGETA'/>
+ <word name='TCGETS'/>
+ <word name='TCGETS2'/>
+ <word name='TCGETX'/>
+ <word name='TCSBRK'/>
+ <word name='TCSBRKP'/>
+ <word name='TCSETA'/>
+ <word name='TCSETAF'/>
+ <word name='TCSETAW'/>
+ <word name='TCSETS'/>
+ <word name='TCSETS2'/>
+ <word name='TCSETSF'/>
+ <word name='TCSETSF2'/>
+ <word name='TCSETSW'/>
+ <word name='TCSETSW2'/>
+ <word name='TCSETX'/>
+ <word name='TCSETXF'/>
+ <word name='TCSETXW'/>
+ <word name='TCXONC'/>
+ <word name='TIOCCBRK'/>
+ <word name='TIOCCONS'/>
+ <word name='TIOCEXCL'/>
+ <word name='TIOCGDEV'/>
+ <word name='TIOCGETD'/>
+ <word name='TIOCGEXCL'/>
+ <word name='TIOCGICOUNT'/>
+ <word name='TIOCGLCKTRMIOS'/>
+ <word name='TIOCGPGRP'/>
+ <word name='TIOCGPKT'/>
+ <word name='TIOCGPTLCK'/>
+ <word name='TIOCGPTN'/>
+ <word name='TIOCGPTPEER'/>
+ <word name='TIOCGRS485'/>
+ <word name='TIOCGSERIAL'/>
+ <word name='TIOCGSID'/>
+ <word name='TIOCGSOFTCAR'/>
+ <word name='TIOCGWINSZ'/>
+ <word name='TIOCINQ'/>
+ <word name='TIOCLINUX'/>
+ <word name='TIOCMBIC'/>
+ <word name='TIOCMBIS'/>
+ <word name='TIOCMGET'/>
+ <word name='TIOCMIWAIT'/>
+ <word name='TIOCM_LOOP'/>
+ <word name='TIOCMSET'/>
+ <word name='TIOCNOTTY'/>
+ <word name='TIOCNXCL'/>
+ <word name='TIOCOUTQ'/>
+ <word name='TIOCPKT'/>
+ <word name='TIOCPKT_DATA'/>
+ <word name='TIOCPKT_DOSTOP'/>
+ <word name='TIOCPKT_FLUSHREAD'/>
+ <word name='TIOCPKT_FLUSHWRITE'/>
+ <word name='TIOCPKT_IOCTL'/>
+ <word name='TIOCPKT_NOSTOP'/>
+ <word name='TIOCPKT_START'/>
+ <word name='TIOCPKT_STOP'/>
+ <word name='TIOCSBRK'/>
+ <word name='TIOCSCTTY'/>
+ <word name='TIOCSERCONFIG'/>
+ <word name='TIOCSERGETLSR'/>
+ <word name='TIOCSERGETMULTI'/>
+ <word name='TIOCSERGSTRUCT'/>
+ <word name='TIOCSERGWILD'/>
+ <word name='TIOCSERSETMULTI'/>
+ <word name='TIOCSERSWILD'/>
+ <word name='TIOCSER_TEMT'/>
+ <word name='TIOCSETD'/>
+ <word name='TIOCSIG'/>
+ <word name='TIOCSLCKTRMIOS'/>
+ <word name='TIOCSPGRP'/>
+ <word name='TIOCSPTLCK'/>
+ <word name='TIOCSRS485'/>
+ <word name='TIOCSSERIAL'/>
+ <word name='TIOCSSOFTCAR'/>
+ <word name='TIOCSTI'/>
+ <word name='TIOCSWINSZ'/>
+ <word name='TIOCVHANGUP'/>
diff --git a/colorer/configs/base/hrc/base/zz-consts.txt b/colorer/configs/base/hrc/base/zz-consts.txt
new file mode 100644
index 00000000..a23d59f7
--- /dev/null
+++ b/colorer/configs/base/hrc/base/zz-consts.txt
@@ -0,0 +1,518 @@
+COMMAND_LINE_SIZE
+TIOCM_CAR
+TIOCM_CD
+TIOCM_CTS
+TIOCM_DSR
+TIOCM_DTR
+TIOCM_LE
+TIOCM_OUT1
+TIOCM_OUT2
+TIOCM_RI
+TIOCM_RNG
+TIOCM_RTS
+TIOCM_SR
+TIOCM_ST
+E2BIG
+EACCES
+EADDRINUSE
+EADDRNOTAVAIL
+EAFNOSUPPORT
+EAGAIN
+EALREADY
+EBADE
+EBADF
+EBADFD
+EBADMSG
+EBADR
+EBADRQC
+EBADSLT
+EBUSY
+ECANCELED
+ECHILD
+ECHRNG
+ECOMM
+ECONNABORTED
+ECONNREFUSED
+ECONNRESET
+EDEADLK
+EDEADLOCK
+EDESTADDRREQ
+EDOM
+EDQUOT
+EEXIST
+EFAULT
+EFBIG
+EHOSTDOWN
+EHOSTUNREACH
+EHWPOISON
+EIDRM
+EILSEQ
+EINPROGRESS
+EINTR
+EINVAL
+EIO
+EISCONN
+EISDIR
+EISNAM
+EKEYEXPIRED
+EKEYREJECTED
+EKEYREVOKED
+EL2HLT
+EL2NSYNC
+EL3HLT
+EL3RST
+ELIBACC
+ELIBBAD
+ELIBEXEC
+ELIBMAX
+ELIBSCN
+ELNRANGE
+ELOOP
+EMEDIUMTYPE
+EMFILE
+EMLINK
+EMSGSIZE
+EMULTIHOP
+ENAMETOOLONG
+ENETDOWN
+ENETRESET
+ENETUNREACH
+ENFILE
+ENOANO
+ENOBUFS
+ENODATA
+ENODEV
+ENOENT
+ENOEXEC
+ENOKEY
+ENOLCK
+ENOLINK
+ENOMEDIUM
+ENOMEM
+ENOMSG
+ENONET
+ENOPKG
+ENOPROTOOPT
+ENOSPC
+ENOSR
+ENOSTR
+ENOSYS
+ENOTBLK
+ENOTCONN
+ENOTDIR
+ENOTEMPTY
+ENOTRECOVERABLE
+ENOTSOCK
+ENOTSUP
+ENOTTY
+ENOTUNIQ
+ENXIO
+EOPNOTSUPP
+EOVERFLOW
+EOWNERDEAD
+EPERM
+EPFNOSUPPORT
+EPIPE
+EPROTO
+EPROTONOSUPPORT
+EPROTOTYPE
+ERANGE
+EREMCHG
+EREMOTE
+EREMOTEIO
+ERESTART
+ERFKILL
+EROFS
+ESHUTDOWN
+ESOCKTNOSUPPORT
+ESPIPE
+ESRCH
+ESTALE
+ESTRPIPE
+ETIME
+ETIMEDOUT
+ETOOMANYREFS
+ETXTBSY
+EUCLEAN
+EUNATCH
+EUSERS
+EWOULDBLOCK
+EXDEV
+EXFULL
+FASYNC
+FD_CLOEXEC
+F_DUPFD
+F_EXLCK
+F_GETFD
+F_GETFL
+F_GETLK
+F_GETLK64
+F_GETOWN
+F_GETOWNER_UIDS
+F_GETOWN_EX
+F_GETSIG
+FIOASYNC
+FIOCLEX
+FIOGETOWN
+FIONBIO
+FIONCLEX
+FIONREAD
+FIOSETOWN
+F_LINUX_SPECIFIC_BASE
+F_LOCK
+F_OFD_GETLK
+F_OFD_SETLK
+F_OFD_SETLKW
+F_OWNER_PGRP
+F_OWNER_PID
+F_OWNER_TID
+F_RDLCK
+F_SETFD
+F_SETFL
+F_SETLK
+F_SETLK64
+F_SETLKW
+F_SETLKW64
+F_SETOWN
+F_SETOWN_EX
+F_SETSIG
+F_SHLCK
+F_TEST
+F_TLOCK
+F_ULOCK
+F_UNLCK
+F_WRLCK
+LOCK_EX
+LOCK_MAND
+LOCK_NB
+LOCK_READ
+LOCK_RW
+LOCK_SH
+LOCK_UN
+LOCK_WRITE
+MADV_DODUMP
+MADV_DOFORK
+MADV_DONTDUMP
+MADV_DONTFORK
+MADV_DONTNEED
+MADV_FREE
+MADV_HUGEPAGE
+MADV_HWPOISON
+MADV_KEEPONFORK
+MADV_MERGEABLE
+MADV_NOHUGEPAGE
+MADV_NORMAL
+MADV_RANDOM
+MADV_REMOVE
+MADV_SEQUENTIAL
+MADV_SOFT_OFFLINE
+MADV_UNMERGEABLE
+MADV_WILLNEED
+MADV_WIPEONFORK
+MAP_ANONYMOUS
+MAP_DENYWRITE
+MAP_EXECUTABLE
+MAP_FILE
+MAP_FIXED
+MAP_GROWSDOWN
+MAP_HUGETLB
+MAP_LOCKED
+MAP_NONBLOCK
+MAP_NORESERVE
+MAP_POPULATE
+MAP_PRIVATE
+MAP_SHARED
+MAP_SHARED_VALIDATE
+MAP_STACK
+MAP_SYNC
+MAP_TYPE
+MCL_CURRENT
+MCL_FUTURE
+MCL_ONFAULT
+MLOCK_ONFAULT
+MS_ASYNC
+MS_INVALIDATE
+MS_SYNC
+_NSIG
+O_ACCMODE
+O_APPEND
+O_CLOEXEC
+O_CREAT
+O_DIRECT
+O_DIRECTORY
+O_DSYNC
+O_EXCL
+O_LARGEFILE
+O_NDELAY
+O_NOATIME
+O_NOCTTY
+O_NOFOLLOW
+O_NONBLOCK
+O_PATH
+O_RDONLY
+O_RDWR
+__O_SYNC
+O_SYNC
+__O_TMPFILE
+O_TMPFILE
+O_TMPFILE_MASK
+O_TRUNC
+O_WRONLY
+PAGE_SIZE
+PKEY_ACCESS_MASK
+PKEY_DISABLE_ACCESS
+PKEY_DISABLE_WRITE
+POLL_BUSY_LOOP
+POLLERR
+POLLFREE
+POLLHUP
+POLLIN
+POLLMSG
+POLLNVAL
+POLLOUT
+POLLPRI
+POLLRDBAND
+POLLRDHUP
+POLLRDNORM
+POLLREMOVE
+POLLWRBAND
+POLLWRNORM
+POLLWRNORM
+PROT_EXEC
+PROT_GROWSDOWN
+PROT_GROWSUP
+PROT_NONE
+PROT_READ
+PROT_SEM
+PROT_WRITE
+RLIMIT_CORE
+RLIMIT_CPU
+RLIMIT_DATA
+RLIMIT_FSIZE
+RLIMIT_LOCKS
+RLIMIT_MSGQUEUE
+RLIMIT_NICE
+RLIMIT_RTPRIO
+RLIMIT_RTTIME
+RLIMIT_SIGPENDING
+RLIMIT_STACK
+RLIM_NLIMITS
+SCM_TIMESTAMP
+SCM_TIMESTAMPING
+SCM_TIMESTAMPING_OPT_STATS
+SCM_TIMESTAMPING_PKTINFO
+SCM_TIMESTAMPNS
+SCM_WIFI_STATUS
+SEEK_CUR
+SEEK_END
+SEEK_SET
+S_IFBLK
+S_IFCHR
+S_IFDIR
+S_IFMT
+S_IFREG
+SIGABRT
+SIGALRM
+SIG_BLOCK
+SIGBUS
+SIGCHLD
+SIGCONT
+SIG_DFL
+SIG_ERR
+SIGFPE
+SIGHUP
+SIG_IGN
+SIGILL
+SIGINT
+SIGIO
+SIGIOT
+SIGKILL
+SIGLOST
+SIGPIPE
+SIGPOLL
+SIGPROF
+SIGPWR
+SIGQUIT
+SIGRTMAX
+SIGRTMIN
+SIGSEGV
+SIG_SETMASK
+SIGSTKFLT
+SIGSTOP
+SIGSYS
+SIGTERM
+SIGTRAP
+SIGTSTP
+SIGTTIN
+SIGTTOU
+SIG_UNBLOCK
+SIGUNUSED
+SIGURG
+SIGUSR1
+SIGUSR2
+SIGVTALRM
+SIGWINCH
+SIGXCPU
+SIGXFSZ
+SIOCATMARK
+SIOCGPGRP
+SIOCGSTAMP
+SIOCGSTAMPNS
+SIOCSPGRP
+S_IRGRP
+S_IROTH
+S_IRUSR
+S_IRWXG
+S_IRWXO
+S_IRWXU
+S_ISGID
+S_ISUID
+S_IWGRP
+S_IWOTH
+S_IWUSR
+S_IXGRP
+S_IXOTH
+S_IXUSR
+SO_ACCEPTCONN
+SO_ATTACH_BPF
+SO_ATTACH_FILTER
+SO_ATTACH_REUSEPORT_CBPF
+SO_ATTACH_REUSEPORT_EBPF
+SO_BINDTODEVICE
+SO_BPF_EXTENSIONS
+SO_BROADCAST
+SO_BSDCOMPAT
+SO_BUSY_POLL
+SO_CNX_ADVICE
+SO_COOKIE
+SO_DEBUG
+SO_DETACH_BPF
+SO_DETACH_FILTER
+SO_DOMAIN
+SO_DONTROUTE
+SO_ERROR
+SO_GET_FILTER
+SO_INCOMING_CPU
+SO_INCOMING_NAPI_ID
+SO_KEEPALIVE
+SO_LINGER
+SO_LOCK_FILTER
+SOL_SOCKET
+SO_MARK
+SO_MAX_PACING_RATE
+SO_MEMINFO
+SO_NO_CHECK
+SO_NOFCS
+SO_OOBINLINE
+SO_PASSCRED
+SO_PASSSEC
+SO_PEEK_OFF
+SO_PEERCRED
+SO_PEERGROUPS
+SO_PEERNAME
+SO_PEERSEC
+SO_PRIORITY
+SO_PROTOCOL
+SO_RCVBUF
+SO_RCVBUFFORCE
+SO_RCVLOWAT
+SO_RCVTIMEO
+SO_REUSEADDR
+SO_REUSEPORT
+SO_RXQ_OVFL
+SO_SECURITY_AUTHENTICATION
+SO_SECURITY_ENCRYPTION_NETWORK
+SO_SECURITY_ENCRYPTION_TRANSPORT
+SO_SELECT_ERR_QUEUE
+SO_SNDBUF
+SO_SNDBUFFORCE
+SO_SNDLOWAT
+SO_SNDTIMEO
+SO_TIMESTAMP
+SO_TIMESTAMPING
+SO_TIMESTAMPNS
+SO_TYPE
+SO_WIFI_STATUS
+SO_ZEROCOPY
+STDERR_FILENO
+STDIN_FILENO
+STDOUT_FILENO
+TCFLSH
+TCGETA
+TCGETS
+TCGETS2
+TCGETX
+TCSBRK
+TCSBRKP
+TCSETA
+TCSETAF
+TCSETAW
+TCSETS
+TCSETS2
+TCSETSF
+TCSETSF2
+TCSETSW
+TCSETSW2
+TCSETX
+TCSETXF
+TCSETXW
+TCXONC
+TIOCCBRK
+TIOCCONS
+TIOCEXCL
+TIOCGDEV
+TIOCGETD
+TIOCGEXCL
+TIOCGICOUNT
+TIOCGLCKTRMIOS
+TIOCGPGRP
+TIOCGPKT
+TIOCGPTLCK
+TIOCGPTN
+TIOCGPTPEER
+TIOCGRS485
+TIOCGSERIAL
+TIOCGSID
+TIOCGSOFTCAR
+TIOCGWINSZ
+TIOCINQ
+TIOCLINUX
+TIOCMBIC
+TIOCMBIS
+TIOCMGET
+TIOCMIWAIT
+TIOCM_LOOP
+TIOCMSET
+TIOCNOTTY
+TIOCNXCL
+TIOCOUTQ
+TIOCPKT
+TIOCPKT_DATA
+TIOCPKT_DOSTOP
+TIOCPKT_FLUSHREAD
+TIOCPKT_FLUSHWRITE
+TIOCPKT_IOCTL
+TIOCPKT_NOSTOP
+TIOCPKT_START
+TIOCPKT_STOP
+TIOCSBRK
+TIOCSCTTY
+TIOCSERCONFIG
+TIOCSERGETLSR
+TIOCSERGETMULTI
+TIOCSERGSTRUCT
+TIOCSERGWILD
+TIOCSERSETMULTI
+TIOCSERSWILD
+TIOCSER_TEMT
+TIOCSETD
+TIOCSIG
+TIOCSLCKTRMIOS
+TIOCSPGRP
+TIOCSPTLCK
+TIOCSRS485
+TIOCSSERIAL
+TIOCSSOFTCAR
+TIOCSTI
+TIOCSWINSZ
+TIOCVHANGUP
diff --git a/colorer/configs/base/hrc/base/zz-posix.hrx b/colorer/configs/base/hrc/base/zz-posix.hrx
new file mode 100644
index 00000000..db8355e3
--- /dev/null
+++ b/colorer/configs/base/hrc/base/zz-posix.hrx
@@ -0,0 +1,169 @@
+ <word name='access'/>
+ <word name='alarm'/>
+ <word name='cfgetispeed'/>
+ <word name='cfgetospeed'/>
+ <word name='cfsetispeed'/>
+ <word name='cfsetospeed'/>
+ <word name='chdir'/>
+ <word name='chmod'/>
+ <word name='chown'/>
+ <word name='close'/>
+ <word name='closedir'/>
+ <word name='creat'/>
+ <word name='ctermid'/>
+ <word name='cuserid'/>
+ <word name='execl'/>
+ <word name='execle'/>
+ <word name='execlp'/>
+ <word name='execv'/>
+ <word name='execve'/>
+ <word name='execvp'/>
+ <word name='fcntl'/>
+ <word name='fdopen'/>
+ <word name='fileno'/>
+ <word name='fork'/>
+ <word name='vfork'/>
+ <word name='fpathconf'/>
+ <word name='fstat'/>
+ <word name='getcwd'/>
+ <word name='getegid'/>
+ <word name='geteuid'/>
+ <word name='getgid'/>
+ <word name='getgrgid'/>
+ <word name='getgrnam'/>
+ <word name='getgroups'/>
+ <word name='getlogin'/>
+ <word name='getpgrp'/>
+ <word name='getpid'/>
+ <word name='getppid'/>
+ <word name='getpwnam'/>
+ <word name='getpwuid'/>
+ <word name='getuid'/>
+ <word name='ioctl'/>
+ <word name='isatty'/>
+ <word name='kill'/>
+ <word name='killpg'/>
+ <word name='link'/>
+ <word name='lstat'/>
+ <word name='mkdir'/>
+ <word name='mkfifo'/>
+ <word name='open'/>
+ <word name='opendir'/>
+ <word name='pause'/>
+ <word name='pipe'/>
+ <word name='pipe2'/>
+ <word name='poll'/>
+ <word name='pread'/>
+ <word name='pwrite'/>
+ <word name='read'/>
+ <word name='readdir'/>
+ <word name='rewinddir'/>
+ <word name='rmdir'/>
+ <word name='setgid'/>
+ <word name='setjmp'/>
+ <word name='setpgid'/>
+ <word name='setsid'/>
+ <word name='setuid'/>
+ <word name='sigaction'/>
+ <word name='sigaddset'/>
+ <word name='sigdelset'/>
+ <word name='sigemptyset'/>
+ <word name='sigfillset'/>
+ <word name='sigismember'/>
+ <word name='siglongjmp'/>
+ <word name='sigpending'/>
+ <word name='sigprocmask'/>
+ <word name='sigsetjmp'/>
+ <word name='sigsuspend'/>
+ <word name='sleep'/>
+ <word name='stat'/>
+ <word name='spawn'/>
+ <word name='spawnp'/>
+ <word name='sysconf'/>
+ <word name='tcdrain'/>
+ <word name='tcflow'/>
+ <word name='tcflush'/>
+ <word name='tcgetattr'/>
+ <word name='tcgetpgrp'/>
+ <word name='tcsendbreak'/>
+ <word name='tcsetattr'/>
+ <word name='tcsetpgrp'/>
+ <word name='times'/>
+ <word name='tmpname'/>
+ <word name='ttyname'/>
+ <word name='tzset'/>
+ <word name='umask'/>
+ <word name='uname'/>
+ <word name='unlink'/>
+ <word name='utime'/>
+ <word name='waitpid'/>
+ <word name='write'/>
+ <word name='pthread_create'/>
+ <word name='pthread_cancel'/>
+ <word name='pthread_detach'/>
+ <word name='pthread_equal'/>
+ <word name='pthread_exit'/>
+ <word name='pthread_join'/>
+ <word name='pthread_kill'/>
+ <word name='pthread_once'/>
+ <word name='pthread_self'/>
+ <word name='pthread_setcancelstate'/>
+ <word name='pthread_setcanceltype'/>
+ <word name='pthread_testcancel'/>
+ <word name='pthread_yield'/>
+ <word name='pthread_attr_destroy'/>
+ <word name='pthread_attr_getinheritsched'/>
+ <word name='pthread_attr_getschedparam'/>
+ <word name='pthread_attr_getschedpolicy'/>
+ <word name='pthread_attr_getscope'/>
+ <word name='pthread_attr_getstacksize'/>
+ <word name='pthread_attr_getstackaddr'/>
+ <word name='pthread_attr_getdetachstate'/>
+ <word name='pthread_attr_init'/>
+ <word name='pthread_attr_setinheritsched'/>
+ <word name='pthread_attr_setschedparam'/>
+ <word name='pthread_attr_setschedpolicy'/>
+ <word name='pthread_attr_setscope'/>
+ <word name='pthread_attr_setstacksize'/>
+ <word name='pthread_attr_setstackaddr'/>
+ <word name='pthread_attr_setdetachstate'/>
+ <word name='pthread_mutexattr_destroy'/>
+ <word name='pthread_mutexattr_getprioceiling'/>
+ <word name='pthread_mutexattr_getprotocol'/>
+ <word name='pthread_mutexattr_gettype'/>
+ <word name='pthread_mutexattr_init'/>
+ <word name='pthread_mutexattr_setprioceiling'/>
+ <word name='pthread_mutexattr_setprotocol'/>
+ <word name='pthread_mutexattr_settype'/>
+ <word name='pthread_mutex_destroy'/>
+ <word name='pthread_mutex_init'/>
+ <word name='pthread_mutex_lock'/>
+ <word name='pthread_mutex_timedlock'/>
+ <word name='pthread_mutex_trylock'/>
+ <word name='pthread_mutex_unlock'/>
+ <word name='pthread_condattr_destroy'/>
+ <word name='pthread_condattr_init'/>
+ <word name='pthread_cond_broadcast'/>
+ <word name='pthread_cond_destroy'/>
+ <word name='pthread_cond_init'/>
+ <word name='pthread_cond_signal'/>
+ <word name='pthread_cond_timedwait'/>
+ <word name='pthread_cond_wait'/>
+ <word name='pthread_rwlock_destroy'/>
+ <word name='pthread_rwlock_init'/>
+ <word name='pthread_rwlock_rdlock'/>
+ <word name='pthread_rwlock_tryrdlock'/>
+ <word name='pthread_rwlock_trywrlock'/>
+ <word name='pthread_rwlock_unlock'/>
+ <word name='pthread_rwlock_wrlock'/>
+ <word name='pthread_rwlockattr_destroy'/>
+ <word name='pthread_rwlockattr_getpshared'/>
+ <word name='pthread_rwlockattr_init'/>
+ <word name='pthread_rwlockattr_setpshared'/>
+ <word name='pthread_key_create'/>
+ <word name='pthread_key_delete'/>
+ <word name='pthread_getspecific'/>
+ <word name='pthread_setspecific'/>
+ <word name='pthread_atfork'/>
+ <word name='pthread_cleanup_pop'/>
+ <word name='pthread_cleanup_push'/>
diff --git a/colorer/configs/base/hrc/base/zz-posix.txt b/colorer/configs/base/hrc/base/zz-posix.txt
new file mode 100644
index 00000000..e6bfaab9
--- /dev/null
+++ b/colorer/configs/base/hrc/base/zz-posix.txt
@@ -0,0 +1,176 @@
+access
+alarm
+cfgetispeed
+cfgetospeed
+cfsetispeed
+cfsetospeed
+chdir
+chmod
+chown
+close
+closedir
+creat
+ctermid
+cuserid
+execl
+execle
+execlp
+execv
+execve
+execvp
+fcntl
+fdopen
+fileno
+fork
+vfork
+fpathconf
+fstat
+getcwd
+getegid
+getenv
+geteuid
+getgid
+getgrgid
+getgrnam
+getgroups
+getlogin
+getpgrp
+getpid
+getppid
+getpwnam
+getpwuid
+getuid
+ioctl
+isalnum
+isatty
+kill
+killpg
+link
+longjmp
+lstat
+mkdir
+mkfifo
+open
+opendir
+pause
+pipe
+pipe2
+poll
+pread
+pwrite
+read
+readdir
+rename
+rewinddir
+rmdir
+select
+setgid
+setjmp
+setpgid
+setsid
+setuid
+sigaction
+sigaddset
+sigdelset
+sigemptyset
+sigfillset
+sigismember
+siglongjmp
+signal
+sigpending
+sigprocmask
+sigsetjmp
+sigsuspend
+sleep
+stat
+spawn
+spawnp
+sysconf
+tcdrain
+tcflow
+tcflush
+tcgetattr
+tcgetpgrp
+tcsendbreak
+tcsetattr
+tcsetpgrp
+times
+tmpname
+ttyname
+tzset
+umask
+uname
+unlink
+utime
+waitpid
+write
+
+pthread_create
+pthread_cancel
+pthread_detach
+pthread_equal
+pthread_exit
+pthread_join
+pthread_kill
+pthread_once
+pthread_self
+pthread_setcancelstate
+pthread_setcanceltype
+pthread_testcancel
+pthread_yield
+pthread_attr_destroy
+pthread_attr_getinheritsched
+pthread_attr_getschedparam
+pthread_attr_getschedpolicy
+pthread_attr_getscope
+pthread_attr_getstacksize
+pthread_attr_getstackaddr
+pthread_attr_getdetachstate
+pthread_attr_init
+pthread_attr_setinheritsched
+pthread_attr_setschedparam
+pthread_attr_setschedpolicy
+pthread_attr_setscope
+pthread_attr_setstacksize
+pthread_attr_setstackaddr
+pthread_attr_setdetachstate
+pthread_mutexattr_destroy
+pthread_mutexattr_getprioceiling
+pthread_mutexattr_getprotocol
+pthread_mutexattr_gettype
+pthread_mutexattr_init
+pthread_mutexattr_setprioceiling
+pthread_mutexattr_setprotocol
+pthread_mutexattr_settype
+pthread_mutex_destroy
+pthread_mutex_init
+pthread_mutex_lock
+pthread_mutex_timedlock
+pthread_mutex_trylock
+pthread_mutex_unlock
+pthread_condattr_destroy
+pthread_condattr_init
+pthread_cond_broadcast
+pthread_cond_destroy
+pthread_cond_init
+pthread_cond_signal
+pthread_cond_timedwait
+pthread_cond_wait
+pthread_rwlock_destroy
+pthread_rwlock_init
+pthread_rwlock_rdlock
+pthread_rwlock_tryrdlock
+pthread_rwlock_trywrlock
+pthread_rwlock_unlock
+pthread_rwlock_wrlock
+pthread_rwlockattr_destroy
+pthread_rwlockattr_getpshared
+pthread_rwlockattr_init
+pthread_rwlockattr_setpshared
+pthread_key_create
+pthread_key_delete
+pthread_getspecific
+pthread_setspecific
+pthread_atfork
+pthread_cleanup_pop
+pthread_cleanup_push
diff --git a/colorer/configs/base/hrc/lib/default.hrc b/colorer/configs/base/hrc/lib/default.hrc
index 67163779..9c660c20 100644
--- a/colorer/configs/base/hrc/lib/default.hrc
+++ b/colorer/configs/base/hrc/lib/default.hrc
@@ -136,6 +136,7 @@
</scheme>
<scheme name="Number">
+ <inherit scheme="BinNumber"/>
<inherit scheme="CHexNumber"/>
<inherit scheme="FloatNumber"/>
<inherit scheme="DecNumber"/>
diff --git a/colorer/configs/base/hrd/rgb/default.hrd b/colorer/configs/base/hrd/rgb/default.hrd
index 1a916823..cfb6973b 100644
--- a/colorer/configs/base/hrd/rgb/default.hrd
+++ b/colorer/configs/base/hrd/rgb/default.hrd
@@ -16,7 +16,7 @@
<assign name="def:NumberSuffix" fore="#008000"/>
<assign name="def:String" fore="#88ee88"/>
- <assign name="def:StringContent" fore="#ee8888" style='1'/>
+ <assign name="def:StringContent" fore="#999911" style='1'/>
<assign name="def:StringEdge" fore="#40a000"/>
<assign name="def:Character" fore="#aaff88"/>
<assign name="def:CharacterContent" fore="#aaff88"/>
@@ -36,8 +36,6 @@
<assign name="def:Keyword" fore="#FFFFFF"/>
<assign name="def:KeywordStrong" fore="#bb7977" style='1'/>
- <assign name="def:TypeKeyword" fore="#ffaf9f"/>
-
<assign name="def:FunctionKeyword" fore="#DDDD00"/>
<assign name="def:DeprecatedKeyword" fore="#DD6622"/>
<assign name="def:InterfaceKeyword" fore="#DD8800"/>
@@ -62,7 +60,7 @@
<assign name="def:OpenTag" fore="#A697F0"/>
<assign name="def:CloseTag" fore="#A697F0"/>
- <assign name="def:Label" fore="#5aa3ff" style='4'/>
+ <assign name="def:Label" fore="#ff20a0"/>
<assign name="def:LabelStrong" fore="#5aa3ff" back="#200050"/>
<assign name="def:Insertion" fore="#DADAFF" back="#200050"/>
@@ -72,18 +70,18 @@
<assign name="def:Error" fore="#EEEEFF" back="#883355" style='3'/>
<assign name="def:ErrorText" fore="#ee00ee" style='1'/>
- <assign name="def:TODO" fore="#ffffff" back="#606000" style='4'/>
+ <assign name="def:TODO" fore="#ffff88" back="#606000"/>
<assign name="def:Debug" fore="#80abfd" back="#007084"/>
<assign name="def:Path" fore="#f040e0"/>
- <assign name="def:URI" fore="#5555DD"/>
+ <assign name="def:URI" fore="#8888ff" style='4'/>
<assign name="def:EMail" fore="#7144c4"/>
<assign name="def:Date" fore="#009797"/>
<assign name="def:Time" fore="#8745a0"/>
- <assign name="def:PairStart" fore="#FF4040" back='#000050' style='4'/>
- <assign name="def:PairEnd" fore="#FF4040" back='#000050' style='4'/>
+ <assign name="def:PairStart" fore="#FF4040" back='#000050'/>
+ <assign name="def:PairEnd" fore="#FF4040" back='#000050'/>
<assign name="def:PairStrongStart" fore="#EE00EE"/>
<assign name="def:PairStrongEnd" fore="#EE00EE"/>
diff --git a/colorer/src/pcolorer2/FarEditor.cpp b/colorer/src/pcolorer2/FarEditor.cpp
index b5a5caf9..1429b126 100644
--- a/colorer/src/pcolorer2/FarEditor.cpp
+++ b/colorer/src/pcolorer2/FarEditor.cpp
@@ -1311,36 +1311,35 @@ void FarEditor::addFARColor(int lno, int s, int e, color col)
ec.Base.StartPos = s;
ec.Base.EndPos = e-1;
if (col.fg || col.bk) {
- if (col.style & AI_STYLE_UNDERLINE) {
- ec.Base.Color|= COMMON_LVB_UNDERSCORE;
- }
- if (col.style & AI_STYLE_STRIKEOUT) {
- ec.Base.Color|= COMMON_LVB_STRIKEOUT;
- }
- ec.TrueFore.R = ((col.fg >> 16) & 0xFF);
- ec.TrueFore.G = ((col.fg >> 8) & 0xFF);
- ec.TrueFore.B = ((col.fg) & 0xFF);
- ec.TrueFore.Flags = 1;
- ec.TrueBack.R = ((col.bk >> 16) & 0xFF);
- ec.TrueBack.G = ((col.bk >> 8) & 0xFF);
- ec.TrueBack.B = ((col.bk) & 0xFF);
- ec.TrueBack.Flags = 1;
-
- if (ec.TrueFore.R > 0x10) ec.Base.Color|= FOREGROUND_RED;
- if (ec.TrueFore.G > 0x10) ec.Base.Color|= FOREGROUND_GREEN;
- if (ec.TrueFore.B > 0x10) ec.Base.Color|= FOREGROUND_BLUE;
-
- if (ec.TrueBack.R > 0x10) ec.Base.Color|= BACKGROUND_RED;
- if (ec.TrueBack.G > 0x10) ec.Base.Color|= BACKGROUND_GREEN;
- if (ec.TrueBack.B > 0x10) ec.Base.Color|= BACKGROUND_BLUE;
-
- if (ec.TrueFore.R > 0x80 || ec.TrueFore.G > 0x80 || ec.TrueFore.B > 0x80) {
- ec.Base.Color = FOREGROUND_INTENSITY;
- }
-
- if (ec.Base.Color == 0 || ec.TrueBack.R > 0x80 || ec.TrueBack.G > 0x80 || ec.TrueBack.B > 0x80) {
- ec.Base.Color = BACKGROUND_INTENSITY;
- }
+ ec.TrueFore.R = ((col.fg >> 16) & 0xFF);
+ ec.TrueFore.G = ((col.fg >> 8) & 0xFF);
+ ec.TrueFore.B = ((col.fg) & 0xFF);
+ ec.TrueFore.Flags = 1;
+ ec.TrueBack.R = ((col.bk >> 16) & 0xFF);
+ ec.TrueBack.G = ((col.bk >> 8) & 0xFF);
+ ec.TrueBack.B = ((col.bk) & 0xFF);
+ ec.TrueBack.Flags = 1;
+
+ if (ec.TrueFore.R > 0x10) ec.Base.Color|= FOREGROUND_RED;
+ if (ec.TrueFore.G > 0x10) ec.Base.Color|= FOREGROUND_GREEN;
+ if (ec.TrueFore.B > 0x10) ec.Base.Color|= FOREGROUND_BLUE;
+
+ if (ec.TrueBack.R > 0x10) ec.Base.Color|= BACKGROUND_RED;
+ if (ec.TrueBack.G > 0x10) ec.Base.Color|= BACKGROUND_GREEN;
+ if (ec.TrueBack.B > 0x10) ec.Base.Color|= BACKGROUND_BLUE;
+
+ if (ec.TrueFore.R > 0x80 || ec.TrueFore.G > 0x80 || ec.TrueFore.B > 0x80) {
+ ec.Base.Color = FOREGROUND_INTENSITY;
+ }
+ if (ec.Base.Color == 0 || ec.TrueBack.R > 0x80 || ec.TrueBack.G > 0x80 || ec.TrueBack.B > 0x80) {
+ ec.Base.Color = BACKGROUND_INTENSITY;
+ }
+ if (col.style & AI_STYLE_UNDERLINE) {
+ ec.Base.Color|= COMMON_LVB_UNDERSCORE;
+ }
+ if (col.style & AI_STYLE_STRIKEOUT) {
+ ec.Base.Color|= COMMON_LVB_STRIKEOUT;
+ }
}
#if 0