Страницы
вторник, 25 августа 2009 г.
Git#
Новость старая, но все же. Есть такой проект Git#. Задачей его является создание версии git на C#. Не знаю, плохо это или хорошо. НО! Если у них все получится, то появится нормальная версия git для windows. Поскольку git# разрабатывается, как библиотка классов, то теперь для windows можно создавать оконный gui для git. Так же, может упроститься создание плагинов для различных ide.
воскресенье, 23 августа 2009 г.
Создание сообщения для blogger в emacs.
Как можно вести блог из Emacs? Полностью автоматического решения я так
и не нашел. Но подсмотрел на одном сайте хороший способ. Делается все
так:
Ставится пакет muse-mode. Это режим для emacs, позволяющий работать в wiki-подобном стиле.
Далее все просто. Набираем все в muse-mode. Экспортирем в html
командой muse-publish-this-file. Если нужно вставить кусок исходника, то
помечаем его, специальными тегами.
<src lang="lisp">
</src>
Код выглядит весьма прилично:
и не нашел. Но подсмотрел на одном сайте хороший способ. Делается все
так:
Ставится пакет muse-mode. Это режим для emacs, позволяющий работать в wiki-подобном стиле.
Далее все просто. Набираем все в muse-mode. Экспортирем в html
командой muse-publish-this-file. Если нужно вставить кусок исходника, то
помечаем его, специальными тегами.
<src lang="lisp">
</src>
Код выглядит весьма прилично:
(defvar gitconfig-mode-font-lock-keywords (list '("^\\[\\(.*\\)\\]$" 1 font-lock-function-name-face) '("\\(.+\\)=\\([^\r\n]*\\)" (1 font-lock-variable-name-face) (2 font-lock-type-face))) "Highlighting expressions for GitConfig mode.") А далее все просто. Копируем получившийся html в блог. :)
суббота, 22 августа 2009 г.
Подсветка синтаксиса на blogspot.com
Здесь находится описание, как добавить подсветку синтакиса на блог.
emacs yasnippet
Попробовал режим yasnippet для emacs. Суть его в том, чтобы заменять введенный текст на заранее известные для текущего режима шаблоны. Удобно при наборе программы. Например: Вводим once
#ifndef _CROSSOVER_H_
#define _CROSSOVER_H_
#endif /* _CROSSOVER_H_*/
Все шаблоны являются отдельными файлами и легко дополняются своими.
воскресенье, 16 августа 2009 г.
Бэйсик на scala
Реадизация бэйсик, как dsl к scala
http://blog.fogus.me/2009/03/26/baysick-a-scala-dsl-implementing-basic/
http://blog.fogus.me/2009/03/26/baysick-a-scala-dsl-implementing-basic/
суббота, 1 августа 2009 г.
hg_squash
В дополнение к предыдущему посту. Вот простой скрипт, реализующий данную команду.
Запускать, из директории с репозитарием. Первый параметр, номер ревизии, предшествующей объединяемым изменениям. Второй- описание изменения.
#!/bin/sh # hg_squash usage(){ echo "usage: $0 rev MESSAGE" } if [ $# -lt 2 ] then usage exit 1 fi if [ $1 = "-h" ] then usage exit 1 fi rev=$1 tip=`hg tip --template "{rev}"` next=`expr $rev + 1` new_log=`hg log -r $rev:$tip --template "{desc|firstline}\n"` echo "Rev count: "$rev echo "Tip revision: " $tip echo "Message: " $2 echo "New commit message: " $new_log echo "Update to $rev..." hg update $rev echo "Reverting..." hg revert -r tip --all echo "Commiting..." new_message=`echo "$2""\\nCombine changesets $next..$tip\\n\\n$new_log"` hg commit -m "$new_message" echo "Strip..." hg strip `expr $rev + 1`
Запускать, из директории с репозитарием. Первый параметр, номер ревизии, предшествующей объединяемым изменениям. Второй- описание изменения.
HG squash. Или как объеденить несколько изменений.
Часто, в репозитарий попадают изменения, которые делают исходный код не рабочим, но исправления будут сделаны в следующих ревизиях. А потом, может возникает желание, объединить их в один патч. Это можно сделать следующим образом.
hg update S
Обновляем до ревизии, предшествующей необходимым изменениям.
hg revert -r tip --all
Теперь отменяем все сделанные изменения.
hg commit -m "Combine changesets S+1..S+k"
И объединяем в один chageset.
Теперь возникает такая проблема, что в репозитарии образовалось две ветки, основная, и полученная после hg commit. Это решается двумя разными способами:
1) hg clone -r tip oldrepo newrepo - созданием нового репозитария
2) воспользоваться командой hg strip
hg update S
Обновляем до ревизии, предшествующей необходимым изменениям.
hg revert -r tip --all
Теперь отменяем все сделанные изменения.
hg commit -m "Combine changesets S+1..S+k"
И объединяем в один chageset.
Теперь возникает такая проблема, что в репозитарии образовалось две ветки, основная, и полученная после hg commit. Это решается двумя разными способами:
1) hg clone -r tip oldrepo newrepo - созданием нового репозитария
2) воспользоваться командой hg strip
Подписаться на:
Сообщения (Atom)