Web、サーバ、ソフトウェア、バグ・脆弱性 などの情報を何人かで集まって書いていく IT/Web情報系ブログ

TeraPadでC言語の標準ライブラリ関数をハイライト表示する

投稿日:   最終更新日:2016/02/11  投稿者:nk.

TeraPadでのPHP(+WP)のハイライト表示追加はこちら

C言語の標準ライブラリに含まれる関数がハイライト表示されないことに気付いたので、こちらも追加することにしました。
参考にしたサイトは以下の2つです。

Cの標準ライブラリが増えることは考えにくいので、PHPのときのようにデータ抽出に使ったPerlコードは載せません。と思ったけど詳しい解説なしで記しておきます。(ファイル邪魔だから消したいけどコードを残しておきたかったのでこのスペースを私的流用)
なお、実際に追加する際の手順はPHPの時の記事を参照してください。
[色]タブの位置は下の画像を参照してください。
terapad_option

スポンサーリンク

cpp.kwd

それでは、cpp.kwdを作成して、以下のテキストデータに置き換えてください。
↓の領域内をダブルクリックすれば選択されます。

#
WinMain
_Bool
_Complex
_Imaginary
__DATE__
__FILE__
__LINE__
__STDC__
__TIME__
__asm
__assume
__based
__cdecl
__cplusplus
__declspec
__except
__fastcall
__finally
__inline
__int16
__int32
__int64
__int8
__leave
__multiple_inheritance
__single_inheritance
__stdcall
__try
__uuidof
__virtual_inheritance
abort
abs
acos
asctime
asin
asm
assert
atan
atan2
atexit
atof
atoi
atol
auto
bad_cast
bad_typeid
bool
break
bsearch
calloc
case
catch
cdecl
ceil
char
class
clearerr
clock
const
const_cast
continue
cos
cosh
ctime
default
define
defined
delete
difftime
div
dllexport
dllimport
do
double
dynamic_cast
elif
else
endasm
endif
entry
enum
error
except
exit
exp
explicit
extern
fabs
false
far
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
finally
float
floor
fmod
fopen
for
fprintf
fputc
fputs
fread
free
freopen
frexp
friend
fscanf
fseek
fsetpos
ftell
fwrite
getc
getchar
getenv
gets
gmtime
goto
huge
if
ifdef
ifndef
import
include
inline
int
interrupt
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit
labs
ldexp
ldiv
line
localtime
log
log10
long
longjmp
main
malloc
memchr
memcmp
memcpy
memmove
memset
modf
mutable
naked
namespace
near
new
noreturn
operator
pascal
perror
pow
pragma
printf
private
protected
public
putc
putchar
puts
qsort
raise
rand
realloc
register
reinterpret_cast
remove
rename
restrict
return
scanf
setjmp
short
signal
signed
sin
sinh
sizeof
sqrt
srand
static
static_cast
strcat
strchr
strcmp
strcpy
strcspn
strerror
strftime
strlen
strncat
strncmp
strncpy
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtol
strtoul
struct
switch
system
tan
tanh
template
this
thread
throw
time
true
try
type_info
typedef
typeid
typename
undef
union
unsigned
using
uuid
virtual
void
volatile
while
wmain
xalloc

追記: ファイルとしてDL

追記
ファイルとして公開するやり方がわかったので、zipで置いておきます。

“TeraPad用 C/C++ キーワードリスト” をダウンロード

cpp.kwd_.zip – 1185 回のダウンロード – 1,015.00 B

リスト抽出スクリプト(perl)

標準ライブラリ関数一覧 – 苦しんで覚えるC言語からリストを抽出するPerlスクリプト

/^[  (\w+)  ]/ and print $1,$/ while<DATA>;
<>;
__DATA__
[  fopen  ]
関数型 : FILE *fopen(const char *filename, const char *mode);
引数  : ファイル名、モード文字列
戻り値 : 開いたファイルポインタ。失敗した場合はNULL。
機能  : ファイルを開く。
モード : r 読み込み、w 新規、a 追加。b付加でバイナリ、+付加で入出力両用。
...

リストから重複を除いてソートするスクリプト(perl)

@r;
%c;
y/\n\r//d and $_ ne '' and push@r,$_ while <DATA>;
@r=grep(!$c{$_}++, @r);
$, = $/;
print sort@r;
__DATA__
fopen
fclose
fgetc
...

- TeraPad ,

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事