Re[2]: программерский редактор, и форматировщик кода
От: jazzer Россия Skype: enerjazzer
Дата: 16.08.13 06:17
Оценка: :))
Здравствуйте, flаt, Вы писали:

F>EmEditor, но это win


win это fail (привел Оруэллу)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: программерский редактор, и форматировщик кода
От: flаt  
Дата: 16.08.13 06:14
Оценка: 6 (1)
Здравствуйте, niXman, Вы писали:

X>приветствую!


X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.

EmEditor, но это win и чисто редактор, а не программерский.
Re[2]: программерский редактор, и форматировщик кода
От: . Великобритания  
Дата: 15.08.13 20:05
Оценка: +1
Здравствуйте, Don Reba, Вы писали:

DR> X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


DR> В самом программерском редакторе, Виме:

DR>
:set matchpairs+=<:>

И как долго оно продержится? До превого сравнения if(a < b) или поточного вывода std::out << ?
Эх... Ну такой синтаксис такой накрутили в плюсах, а мог бы быть хороший язык.
avalon/1.0.432
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 15.08.13 17:09
Оценка:
приветствую!

скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.

второй вопрос в том, что немогу найти хороший(желательно онлайн) форматировщик С++ кода, чтоб умел форматировать шаблонный код большой вложенности, типа этого:
template< std::size_t ID, std::size_t V = 0 > struct messages_map { using type = typename boost::mpl::at< typename boost::mpl::at< boost::mpl::map< boost::mpl::pair< boost::mpl::int_< proc1 >, boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0> ,protoctor_message<0, 0>::type > , boost::mpl::pair< boost::mpl::int_<1> ,protoctor_message<0, 1>::type > > > , boost::mpl::pair< boost::mpl::int_< proc2 >, boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0> ,protoctor_message<1, 0>::type > > > , >, boost::mpl::int_<ID> >::type, boost::mpl::int_<V> >::type; };


благодарен.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: программерский редактор, и форматировщик кода
От: Ops Россия  
Дата: 15.08.13 17:36
Оценка:
Здравствуйте, niXman, Вы писали:

X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


Far + FarColorer, но он вряд ли тебе подойдет — это все-таки не полноценный редактор.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: программерский редактор, и форматировщик кода
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 15.08.13 17:42
Оценка:
Здравствуйте, niXman, Вы писали:

X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


В самом программерском редакторе, Виме:
:set matchpairs+=<:>
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 15.08.13 17:44
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>В самом программерском редакторе, Виме:

DR>
:set matchpairs+=<:>


омг %)
а можно как-нить без него?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[3]: программерский редактор, и форматировщик кода
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 15.08.13 20:24
Оценка:
Здравствуйте, ., Вы писали:

.>И как долго оно продержится? До превого сравнения if(a < b) или поточного вывода std::out << ?


Насколько я понимаю, это только проблема, если встретится внутри угловых скобок. Использование сравнения констант в качестве булевого параметра шаблона, всё таки, совсем редкая экзотика.
Ce n'est que pour vous dire ce que je vous dis.
Re[4]: программерский редактор, и форматировщик кода
От: VladFein США  
Дата: 15.08.13 20:29
Оценка:
Здравствуйте, Don Reba, Вы писали:

.>>И как долго оно продержится? До превого сравнения if(a < b) или поточного вывода std::out << ?


DR>Насколько я понимаю, это только проблема, если встретится внутри угловых скобок. Использование сравнения констант в качестве булевого параметра шаблона, всё таки, совсем редкая экзотика.


А этот Вим можно научить делать matchpairs только в описании шаблонов?
Re[5]: программерский редактор, и форматировщик кода
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 15.08.13 20:41
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>А этот Вим можно научить делать matchpairs только в описании шаблонов?


Можно реализовать аналогичное поведение скриптом, но это будет нетривиально, даже по Вимовским меркам.
Ce n'est que pour vous dire ce que je vous dis.
Re[6]: программерский редактор, и форматировщик кода
От: VladFein США  
Дата: 15.08.13 20:44
Оценка:
Здравствуйте, Don Reba, Вы писали:

VF>>А этот Вим можно научить делать matchpairs только в описании шаблонов?


DR>Можно реализовать аналогичное поведение скриптом, но это будет нетривиально, даже по Вимовским меркам.


Я спрашивал относительно Вашего утверждения:

.>>И как долго оно продержится? До превого сравнения if(a < b) или поточного вывода std::out << ?

DR>Насколько я понимаю, это только проблема, если встретится внутри угловых скобок.

Re: программерский редактор, и форматировщик кода
От: Zhendos  
Дата: 16.08.13 02:30
Оценка:
Здравствуйте, niXman, Вы писали:

X>приветствую!


X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


emacs с дефолтными настройками в C++ подсвечивает.
Re[2]: программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.08.13 04:17
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>emacs с дефолтными настройками в C++ подсвечивает.

ох и экзотика %)

так он подсвечивает, или форматирует?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[4]: программерский редактор, и форматировщик кода
От: . Великобритания  
Дата: 16.08.13 07:38
Оценка:
Здравствуйте, Don Reba, Вы писали:

.>>И как долго оно продержится? До превого сравнения if(a < b) или поточного вывода std::out << ?

DR>Насколько я понимаю, это только проблема, если встретится внутри угловых скобок. Использование сравнения констант в качестве булевого параметра шаблона, всё таки, совсем редкая экзотика.
Или если забудешь скобочку в шаблоне открыть или закрыть. И фиг найдёшь же, только с толку сбивать такая подстветка будет.
А это кто-нибудь пробовал?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: программерский редактор, и форматировщик кода
От: jazzer Россия Skype: enerjazzer
Дата: 16.08.13 07:51
Оценка:
Здравствуйте, niXman, Вы писали:

X>приветствую!


X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


X>второй вопрос в том, что немогу найти хороший(желательно онлайн) форматировщик С++ кода, чтоб умел форматировать шаблонный код большой вложенности, типа этого:

X>template< std::size_t ID, std::size_t V = 0 > struct messages_map { using type = typename boost::mpl::at< typename boost::mpl::at< boost::mpl::map< boost::mpl::pair< boost::mpl::int_< proc1 >, boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0> ,protoctor_message<0, 0>::type > , boost::mpl::pair< boost::mpl::int_<1> ,protoctor_message<0, 1>::type > > > , boost::mpl::pair< boost::mpl::int_< proc2 >, boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0> ,protoctor_message<1, 0>::type > > > , >, boost::mpl::int_<ID> >::type, boost::mpl::int_<V> >::type; };

X>благодарен.


вот такой крокодил тебя устроит?
> echo 'template< std::size_t ID, std::size_t V = 0 > struct messages_map { using type = typename boost::mpl::at< typename boost::mpl::at< boost::mpl::map< boost::mpl::pair< boost::mpl::int_< proc1 >, boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0> ,protoctor_message<0, 0>::type > , boost::mpl::pair< boost::mpl::int_<1> ,protoctor_message<0, 1>::type > > > , boost::mpl::pair< boost::mpl::int_< proc2 >, boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0> ,protoctor_message<1, 0>::type > > > , >, boost::mpl::int_<ID> >::type, boost::mpl::int_<V> >::type; };' | uncrustify -l cpp -c <(echo -e "indent_template_param True\ncode_width 80")
Parsing: 564 bytes from stdin as language CPP
template< std::size_t ID, std::size_t V =
         0 > struct messages_map { using type =
                                                 typename boost::mpl::at
             < typename boost::mpl::
              at< boost::mpl::map< boost
                 ::
                 mpl
                 ::pair< boost::mpl::int_< proc1 >,
                     boost
                     ::
                     mpl::map< boost::mpl::pair< boost::mpl::int_<0>,
                         protoctor_message
                         <
                               0,
                               0>
                         ::
                         type >,
                        boost
                        ::
                        mpl::pair< boost::mpl::int_<1>,
                         protoctor_message
                         <
                               0,
                               1>
                         ::
                         type > > >,
                 boost
                 ::
                 mpl::pair< boost::mpl::int_< proc2 >,
                     boost
                     ::
                     mpl::map< boost::mpl::pair< boost::mpl::int_<0>,
                         protoctor_message
                         <
                               1,
                               0>
                         ::
                         type > > >,
                        >,
                boost::
                mpl::int_<ID> >::type, boost::mpl::int_<V> >::type; };

(ему тут, похоже, снесло крышу от С++11-го using — можешь засандалить им bug report)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: программерский редактор, и форматировщик кода
От: Zhendos  
Дата: 16.08.13 07:59
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Zhendos, Вы писали:


Z>>emacs с дефолтными настройками в C++ подсвечивает.

X>ох и экзотика %)

X>так он подсвечивает, или форматирует?


Не понял, вопрос был о подсветке, на него и ответил.
откуда взялось форматирование?
Re[2]: программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.08.13 08:09
Оценка:
Здравствуйте, jazzer, Вы писали:

J>вот такой крокодил тебя устроит?

ох и жуть же! =)
но спасибо.

J>(ему тут, похоже, снесло крышу от С++11-го using — можешь засандалить им bug report)

не. изменил на typedef — результат тот же.
нужно в настройках поковыряться.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: программерский редактор, и форматировщик кода
От: zaufi Земля  
Дата: 16.08.13 08:48
Оценка:
Здравствуйте, niXman, Вы писали:

X>приветствую!


X>второй вопрос в том, что немогу найти хороший(желательно онлайн) форматировщик С++ кода, чтоб умел форматировать шаблонный код большой вложенности, типа этого:


я себе на петоне написал плагину для kate, чтобы быстренько форматить подобный код.
Win+F и текущий уровень (между '<>' или '()') разбивается на отдельные строки в boost-стиле форматирования (когда запятая впереди). по Win+Shift+F наоборот сворачиваем все в одну строку.
применяю в основном при редактировании собственного кода (реже по-быстрой разобрать на какой тип обижается компилятор), а не для массового переформатирования-кусков-кода-в-пакетном-режиме -- писать собственный C++ парсер я не готов


X>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


ну если допустить некоторые ограничения (завязанные на стиль кодирования), то вполне можно на том же питоне для kate наваять.
засада, как уже сказали, в том, что отличить '<' и '>' в шаблонах, от операторов сдвига или сравнения можно только имея компилятор.
и даже если нагнуть clang для этой задачи, то гемороя все равно будет выше крыши. поэтому, если я и буду что-то подобное писать (а всякие такие импрувы я себе делаю постоянно ), то только ориентируясь на собственный стиль кодирования: если '<' или '>' хотябы с одной стороны соседствуют с [alnum] (или через некоторое число [punct], но не \s), то это скорее всего шаблон -- операторы я обычно отделяю пробелами от операндов...
Re[2]: программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.08.13 08:53
Оценка:
Здравствуйте, zaufi, Вы писали:

Z>я себе на петоне написал плагину для kate, чтобы быстренько форматить подобный код.

Z>Win+F и текущий уровень (между '<>' или '()') разбивается на отдельные строки в boost-стиле форматирования (когда запятая впереди). по Win+Shift+F наоборот сворачиваем все в одну строку.
Z>применяю в основном при редактировании собственного кода (реже по-быстрой разобрать на какой тип обижается компилятор), а не для массового переформатирования-кусков-кода-в-пакетном-режиме -- писать собственный C++ парсер я не готов
так а где его скачать? я тоже kate использую


X>>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


Z>ну если допустить некоторые ограничения (завязанные на стиль кодирования), то вполне можно на том же питоне для kate наваять.

было бы здорово
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: программерский редактор, и форматировщик кода
От: Yarik_L  
Дата: 16.08.13 09:01
Оценка:
Здравствуйте, niXman, Вы писали:

X>второй вопрос в том, что немогу найти хороший(желательно онлайн) форматировщик С++ кода, чтоб умел форматировать шаблонный код большой вложенности, типа этого:


clang-format?
Re[3]: программерский редактор, и форматировщик кода
От: zaufi Земля  
Дата: 16.08.13 09:11
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, zaufi, Вы писали:


Z>>я себе на петоне написал плагину для kate, чтобы быстренько форматить подобный код.

Z>>Win+F и текущий уровень (между '<>' или '()') разбивается на отдельные строки в boost-стиле форматирования (когда запятая впереди). по Win+Shift+F наоборот сворачиваем все в одну строку.
Z>>применяю в основном при редактировании собственного кода (реже по-быстрой разобрать на какой тип обижается компилятор), а не для массового переформатирования-кусков-кода-в-пакетном-режиме -- писать собственный C++ парсер я не готов
X>так а где его скачать? я тоже kate использую

раньше держал на github'e (в принципе и щаз есь, только старое там все... наверное).
я теперь в kate.git все коммичу. в KDE SC 4.11 будетесть посвежее. нужно включить питоньи плагины сначала, а потом в списке питоньих плагинов уже выбрать 'format'. шоткаты и actionы появлятся в настройках...

X>>>скажите, кто-то встречал редактор, который умеет подсвечивать парные треугольные скобки? круглые и фигурные вроде все умеют.


Z>>ну если допустить некоторые ограничения (завязанные на стиль кодирования), то вполне можно на том же питоне для kate наваять.

X>было бы здорово
Re[4]: программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.08.13 09:33
Оценка:
Здравствуйте, zaufi, Вы писали:

Z>нужно включить питоньи плагины сначала, а потом в списке питоньих плагинов уже выбрать 'format'. шоткаты и actionы появлятся в настройках...

вроде все сделал, а он мне такое говорит:
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[5]: программерский редактор, и форматировщик кода
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.08.13 09:33
Оценка:
http://clip2net.com/s/5zKyUy
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[5]: программерский редактор, и форматировщик кода
От: zaufi Земля  
Дата: 16.08.13 10:05
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, zaufi, Вы писали:


Z>>нужно включить питоньи плагины сначала, а потом в списке питоньих плагинов уже выбрать 'format'. шоткаты и actionы появлятся в настройках...

X>вроде все сделал, а он мне такое говорит:
X>

я же говорю, что это не formatter для блоков кода это просто мой помошник при наборе кода (и реже для "нарезки" копипасты ошибок компилятора из терминала).

например: втыкни в редактор вот такое
typedef std::deque<std::tuple<collected_documents_t::iterator, documents_list_t::size_type>> sent_items_t;
//                 ^ и помести курсор сюда...


теперь жмем Win+F и поулчаем
    typedef std::deque<
        std::tuple<collected_documents_t::iterator, documents_list_t::size_type>
      > sent_items_t;


если теперь переместить курсор внутрь угловых скобочек у std::tuple и опять Win+F, то будет
    typedef std::deque<
        std::tuple<
            collected_documents_t::iterator
          , documents_list_t::size_type
          >
      > sent_items_t;


собственно на этом "разбивку" можно уже остановить, т.к. по длине она уже, меня например, вполне устраивает...

именно для таких use-caseов и предназначен этот плагин (не без некоторых багов) -- помогать набирать код
Re[5]: программерский редактор, и форматировщик кода
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.08.13 15:46
Оценка:
DR>>Насколько я понимаю, это только проблема, если встретится внутри угловых скобок. Использование сравнения констант в качестве булевого параметра шаблона, всё таки, совсем редкая экзотика.

.>Или если забудешь скобочку в шаблоне открыть или закрыть. И фиг найдёшь же, только с толку сбивать такая подстветка будет.


В Виме "%" прыгает на парную скобку. Так что, всё находится мнгновенно. Единственный серьёзный недостаток, ИМХО, это то, что оно будет подствечивать операторы в выражениях типа a < b || a > c. Возможно, поэтому оно и не включено по умолчанию. Основной недостаток Вима (или фича — кому как) это то, что он является текстовым редактором до мозга костей, он не парсит грамматику языка. Есть плагины которые это делают и даже добавляют честный Intellisense, но они остаются немного чужеродными.
Ce n'est que pour vous dire ce que je vous dis.
Re[5]: программерский редактор, и форматировщик кода
От: vnp  
Дата: 16.08.13 18:13
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, Don Reba, Вы писали:


.>>>И как долго оно продержится? До превого сравнения if(a < b) или поточного вывода std::out << ?


DR>>Насколько я понимаю, это только проблема, если встретится внутри угловых скобок. Использование сравнения констант в качестве булевого параметра шаблона, всё таки, совсем редкая экзотика.


VF>А этот Вим можно научить делать matchpairs только в описании шаблонов?


Да. С плагином matchit. Конфигурировать, конечно, замучаешься.
Re: программерский редактор, и форматировщик кода
От: Honduras  
Дата: 21.01.15 20:50
Оценка:
http://sublimetext.com/ прикольный скролбар, возможно платный, с кодировками похоже не работает
Re[2]: программерский редактор, и форматировщик кода
От: Honduras  
Дата: 21.01.15 21:04
Оценка:
eсеть reopen with encoding
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.