Data.Text работает с Unicode, что является непозволительной роскошью в данном случае. И вообще я удивлен, как оно вложилось в такое приличное время и не выжрало половину памяти с ленивым maximum.
Кстати, вариант с ByteString также обогнал 7 (getline + stoi) и 6a (getchar).
3. Я в течении этого года отказался от gvim полностью, хотя раньше довольно яро отстаивал его использование. Причина довольно проста, наличие полноценного терминала под рукой перевешивает все плюсы gvim'а (из gvim не запустишь ncurses приложения и не сделаешь Ctrl-Z).
По поводу самого CSApprox. Я использую небезизвестную тему solarized, которая отлично ведет себя в консоле.
6. У меня тоже имеется парочка проектов на cmake, но эти шаги одноразовые при настройке проекта. После этого, вышеуказанной коммандой я говорю vim собирать из папки, где cmake создал makefile и всё работает просто чудестно.
:make не просто компилирует проект, он еще и парсит вывод на ошибки компиляции и добавляет их в quickfix и можно прыгать по ним обычными :cnext и :cpre.
Кроме того, по сравнению с этим решением, экран не блокируется до того, как сборка полностью закончится, а плавно выплевывает весь вывод по ходу его поступления.
Ну и в моей системе, вывод потом всё равно разростается на весь экран и полностью закрывает собой код.
Хорошой альтернативой обычному make вижу только всякие background-make'и.
И потом объяснить, что под точкой подразумевается совсем не знак композиции.
Кстати, вариант с ByteString также обогнал 7 (getline + stoi) и 6a (getchar).
По поводу самого CSApprox. Я использую небезизвестную тему solarized, которая отлично ведет себя в консоле.
6. У меня тоже имеется парочка проектов на cmake, но эти шаги одноразовые при настройке проекта. После этого, вышеуказанной коммандой я говорю vim собирать из папки, где cmake создал makefile и всё работает просто чудестно.
errorformat
и научить Vim прыгать прямо на место с ошибкой.execute
это то же самое, что и просто написать комманду.То есть, эта функция эквивалентна вашей.
:make
не просто компилирует проект, он еще и парсит вывод на ошибки компиляции и добавляет их в quickfix и можно прыгать по ним обычными:cnext
и:cpre
.Кроме того, по сравнению с этим решением, экран не блокируется до того, как сборка полностью закончится, а плавно выплевывает весь вывод по ходу его поступления.
Ну и в моей системе, вывод потом всё равно разростается на весь экран и полностью закрывает собой код.
Хорошой альтернативой обычному make вижу только всякие background-make'и.
Из не-clang альтернатив довольно хорошо работает cscope. Использовал его, чтобы копаться в исходниках Линукса.