코드가 포함되어 있는 글을 포스팅할 때, syntax highlighting 기능을 위해 Enlighter를 사용하고 있다. 정확히 내가 원하는 대로 highlighting이 되는 느낌은 아니고 또 내가 원하는 언어가 목록에 없어서 그냥 plain text나 generic highlighting 옵션을 선택해야 할 때도 있지만, 기본 설정대로 사용해도 시험삼아 적용해본 다른 플러그인과 비교했을 때 가장 나은 것 같다.
다만 한 가지 불편한게 테마(Theme)를 설정하는 것이다. 이 글을 포스팅하는 2021.01.23 현재 총 13개 테마를 지원하는데, 각 테마가 미리 어떻게 보여지는지 미리보기가 있는 것도 아니고, 테마들을 모두 한 군데 모아놓고 각각이 어떻게 화면에 보여지는지를 한번에 비교하는 웹 페이지도 없는 듯 하다(또는 내가 못찾았을 수도 있고). 사실 각 테마들이 이미 각종 프로그래밍 환경에서 사용되고 있기 때문에 익숙한 사람들은 척 보면 알 수도 있지만, 나는 그렇지 않기 때문에 혹시라도 같은 나와 비슷한 생각을 하고 테마 비교 글을 찾고있는 사람들을 위해 아래 각 테마들을 차례로 비교해 본다.
Line number가 보여지도록 설정하고 모두 동일하게 간단한 C++ 코드로 작성했다.
Contents
Enlighter
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Godzilla
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Beyond
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Classic
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
MowTwo
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Eclipse
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Droide
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Minimal
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Atomic
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Rowhammer
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Bootstrap4
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Dracula
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }
Monokai
#include <iostream> /* example function ftn() */ void ftn() { std::cout << "this is an example function" << std::endl; } int main(int argc, char *argv[]) { std::cout << "this is an example C++ code" << std::endl; ftn(); }