• Linux Emacs говно clang sublime блокнотики Очередной раз поражаюсь, как в линуксе все просто и удобно, кукареку, пакетные менеджеры, кудах.
    Наслушался про то, что в линуксе щас во всех блокнотиках для редактирования c/c++/objc есть возможность крутого автодополнения с помощью clang. Ну здорово, решил сначала попробовать под вендой, ибо было сказано, что модный блокнотик sublime text умеет работать и в венде. Скачал, поставил package control, поставил SublimeClang, попробовал — нууу, типа работает, только надо руками прописывать пути к заголовкам, которые этот самый libclang будет парсить. Что-то даже прописал, потом устал и забил.
    Тут случайно наткнулся на подобный модуль для emacs. Ну emacs мне ближе, раньше пользовался, решил еще покрасноглазить, в итоге руками собрал clang, руками собрал emacs-clang-complete-async. Не работает, падает. Ну ладно, тут начинается самое веселое, решил попробовать тоже самое в линуксе, ведь там все просто и само должно заработать. Нуу, разве что всего лишь emacs-clang-complete-async руками собрать. Ну собрал, это я уже и под вендой делал. Оно даже заработало, ничего больше не настраивая! Только почему-то ВНЕЗАПНО перестало, и в логах емакса тишина. Ну да ладно. Решил попробовать sublime text здесь же. А тут... а тут он не работает. Не ставится на него SublimeClang. Надо собрать руками отдельный петон, через какой-то еще pythonbrew новомодный, подсунуть его отдельно к sublime text, и тогда возможно заработает. Написано баг известный, в принципе в любом линуксе, но чинить никто не собирается. Пиздец какой-то. И так в этом линуксе всё. Не удивлюсь, что еще через пару лет в линуксе и ls начнет глючить.
    ♡ recommended by @SkyLimited, @4DA

Replies (30)

  • @vt, Да не, ls 100 лет не глючил и не будет. не дойдет до такого думаю.
  • @vt, Мне почему-то подумалось, что линуксу пиздец, когда Solaris нагнулся. Если даже узкоспециализированные решения не покатили... Но ты прав, все так. Ща еще какую-нибудь охуенную систему [инициалзиации?] придумают, и ls там будет глючить.
  • @vt, brew это что-то макоебское, думаю ключ проблем в ориентации автора сублимы
  • @syncro, кстати щас попробую в osx завести с этой самой сублимой, с емаксом не взлетело, вернее там надо руками опять clang собирать, системный не подходит.
  • @vt, я понимаю если ты поставил что-то из официальных репов и не работает, да и то этож опесорц как никак, но если собрал из сорцов/поставил левым слисапеденным пакетным менеджером претензии выглядят еще более жиденько:) Если автор сублима не может собрать нормальные пакеты, вам нужно его как-то активнее хомячить думаю.
  • @vt, линукс говно. всё говно. но придираться к этому это примерно как "посоны, я лизнул качели зимой, но тёлки всё равно не дают", учитывая что тот же clang имеет пока что не слишком стабильный костыльсет, а саблаймом пользуются хипсторы с рубями.
  • @vt, ls будет глючить, инфа 100%. Убунтовцы постараются, и он будет вместе с файлами выдавать рекламные ссылки. И grep тоже.
  • @OchenZloy, гы!)))))
  • @vt, Ну, просто беда
  • @vt, охуенная мода, спасибо большое. все работает збс.
  • @4DA, apt-get что?
  • @vt, clang у меня был версии 3.3, скачал auto-complete-mode, сделал M-x load-file auto-complete-mode/etc/install.el, поставил clang-complete, и далее скопипастил пример из конфига. pastebin.com
    apt-ом не пользуюсь, потому что конфиг емакса так тяжело таскать между разными платформами.
  • @4DA, Вижуал студия неплохо работает в ящике. А 2005 и в вайне. Зачем все это? :]
  • @Avatar, @4da совершает спасбросок против тралинга @Avatar: успешно
  • @4DA, Ну я так все и делал, а clang-complete поставил как? Я собирал. И вот этот бинарник ВНЕЗАПНО перестает подавать признаки жизни. Щас вот на венде пересобрал clang и его правильной мингвой, пока работает, смотрю.
  • @vt, только написал, и он упал вместе с емаксом :(
  • @vt, В линаксе основное средство траблшутинга — strace. А если серьезно, чистый clang-complete неюзабелен, clang-complete-async юзабелен в паре с ede, например. Но все это изкоробочным решением назвать затруднительно. Вообще в емаксе вменяемого автокомплита нет ни для чего
  • @vt, просто сделал make и все.
  • @Avatar, как работает ede/semantic/cedet я знаю — VS2012 раза в три быстрее
  • @vt, Думаю, на порядок. Парсить С++ редактором — слишком уж больная идея. Суть тут в том, что бы из ede проекта передавать параметры в clang-complete-async
  • @Avatar, вижак, кстати, у меня пару раз наглухо вис на большом проекте (несколько лимонов строк). вообще, если заюзать gnu global и генерить индекс, то жить как-то можно.
  • @4DA, гну глобал работает как говно. если мы конечно про С++ говорим
  • @Avatar, плюсы не нужны.
  • @4DA, ну вот, приехали )))
  • @4DA, ладно, шутка.
  • @Avatar, ну сначала надо разобраться что с ним происходит. Вот в саблайме их обертка на петоне сразу в редактор сообщает какое место ему не понравилось и нужно добавлять ему параметры. А этот бинарник просто молчит и всё.
  • @vt, там в src/main.c есть функция dump_session, я думаю можно ее вставить в главный цикл и посмотреть.
  • @4DA, там еще в auto-complete-clang-async.el какие-то буферы с ошибками создаваться должны, но я не заметил чтоб они создавались
  • @vt, у меня появился буфер clang-complete
  • @4DA, этот у меня есть