4 SilentBob... Версия 1.4.
5 - Жучки выловлены, поджарены, и вывешены сушиться.
6 - Поддержка файла ./tags от exuberant-ctags убрана за ненадобностью. Сейчас проект полностью автономный.
7 - Добавлен heapsort и [рабочий] вариант с распараллеливанием.
8 - Все лайбы собраны в кучу.
10 Собирается Scons'ом (зайти в ./Scons), AAP'ом (зайти в ./AAP)
11 или простым ./configure.
13 build_bob.bob - используется для создания SConsturct, main.aap, build_bob.sh
14 при наличии установленного бобика и всех плагинов, запускать как
16 build_bob.sh - сборка всех частей ... bash скриптом. Очень быстро.
17 install.sh - альтернативный скрипт для установки. Ставит все в /usr.
18 make.sed - скрипт SED, который используется для автоматизации automake'а :-)
19 package.sh - альтернативный способ собрать пакет SilentBob. ставит все в ../packege,
20 предварительно стерев все в данном каталоге.
22 Для установки плагинов _обязательно_ выполнить
23 $ make install_plugins
24 Плагины устанавливаются в неизменный каталог :
26 НО. вы можете вручную скопировать файлы libplugin_* в каталог ~/.silent_bob/plugins/
28 -- При сборке альтернативными методами (не ./configure) :
29 Скрипты install.sh,package.sh,install.sh выполняются из того каталога, в котором производилась сборка.
30 Т.е. При выполнении из директорий Scons или AAP, добавлять "../scripts/".
31 Так же в Scons замечен баг (?) смены порядка сборки. Если возникла такая проблема, можно последовательно
32 собрать нужные цели (см. все что в командах).
39 В AAP 1.088 был замечен баг неправильной компиляции при использовании чего-нибудь отличного от -O2 в CFLAGS.
40 При использовании scons, AAP либо bash-скрипта вы должны находиться в подкаталоге первого уровня, как-то :
41 ./AAP ./SCons ./debug, либо вы можете изменить top_srcdir= в файле build_bob.bob и пересоздать файлы сборки.
42 Конечно, второй вариант сработает только если у вас уже установлена одна рабочая версия Боба.
45 Файлы для SilentBob подаются в виде параметров или в виде файла со списком файлов (каждый на новой строке)
46 и опцией -L, т.е. -L <файл со списком файлов>.
48 -- Создание списка файлов :
53 -- Создание файла ./tags :
57 Можно задать -j N --make-ctags, где N - количество процессов.
58 ПРИМ.: темплэйты (template) не индексирует... пока.
59 ПРИМ.2: для Си++ существует тестовая опция --lang cpp, с ней Боб пытается
60 более адекватно обрабатывать Си++ код (за счет скорости, конечно).
62 Ежели установлены плагины (коих нет в deb пакете), то для этих опций (--cfiles и --make-ctags)
63 можно добавлять --perl или --python соответственно для Perl и Python, однако фишка сильно тестовая...
64 $ bob [--perl | --python] --files
65 $ bob [--perl | --python] --make-ctags
66 Созданный файл tags поддерживается только Vim'ом, но вы можете использовать непосредственно SilentBob
69 -- Создание файла ./call_tags
70 $ bob <список файлов> --call-tags
71 Создаст файл тэгов. Правда вместо мест старта функций, будет указано где функции вызываются. Можно
72 переименовать в ./tags, зайти в Vi и переходить по _местам вызова_ функции обычной командой
76 Для работы нужен файл ./call_tags.
79 $ bob <имя функции> [--depth N]
80 Где N - максимальный уровень (для очень больших проектов).
83 $ bob -u <имя функции> [--depth N]
84 Адекватность работы данных функций для Си++ кода не гарантируется.
86 -- Поиск по операторам :
87 $ bob <список файлов> --cgrep оп1,оп2...
88 Где оп1 и оп2 - требуемые части _одного оператора_. Т.е. для поиска места проверки переменной T можно
89 использовать например :
90 $ bob -L ./cfiles --cgrep if,T
91 При добавлении опции -ts (можно сразу с >./tags ) вы получите tags-формат вывода.
94 $ bob <функция1> <функция2> ... <функцияN>
95 Где функция1..функцияN - нужный символ из файла ./tags.
96 После вызова будет отображен код всех перечисленных функций.
98 И другие вкусности, здесь не упомянутые...
101 Проджект нуждается в отзывах о его работоспособности на разных платформах.
103 Oleg Puchinin <graycardinalster@gmail.com>