PDA

Показать полную графическую версию : [ TEST ]WebDoc Generator( +Подсветка синтаксиса )


___oj
07-11-2008, 20:04
Программа для генерирования HTML документа из Исходного текста на языке программирования.

Новое слово в программах данной категории! Те кто знают CSS, могут использовать всю его мощ для подсветки синтаксиса.

Получилась достаточно интересная програвмма, поэтому решил поделиться. Обнаружилось что можно не хило разкрасить документ, например как на скрине:

Обновил архив: проработал обработку директив препроцессора для Cpp.
параметры такие:
ключ -Fимя_файла задает имя файла
комманда CNT включает счетчик строк

Обновил архив: Обнаружил баги, кот-ые мешали конфигурировать программу для других языков. Создал и слегка потестировал обработку исходников .PY (Питона). Добавил Help по одному из ключей /? -? /h -h ? h

pva
08-11-2008, 14:45
сделай чтобы на ключ /? откликалась

Busla
08-11-2008, 18:37
скрин - убийственный

___oj
10-11-2008, 07:36
pva, Сделал, теперь откликается. )

Admiral
31-08-2010, 14:16
Ещё одна вариация на тему, с поддержкой C#, VB, HTML, XML, T-SQL, MSH (Monad)
http://www.manoli.net/csharpformat/

Для переделки под форумные посты(BB-Cod), в частности для движка vBulletin, на котором работает конференция, необходимо изменить в файле CodeFormat.cs
sb.Append("<span class=\"rem\">");
sb.Append("");
sb.Append("</span>");
sb.Append("");
return "<span class=\"str\">" + match.ToString() + "</span>";
return "" + match.ToString() + "";
return "<span class=\"preproc\">" + match.ToString() + "</span>";
return "[font color=#cc6633]" + match.ToString() + "[/color]";
return "<span class=\"kwrd\">" + match.ToString() + "</span>";
return "" + match.ToString() + "";
и SourceFormat.cs.
sb.Append("<pre class=\"csharpcode\">\n");
->sb.Append("");
sb.Append("</pre>");
->sb.Append("");

-> указывает на что заменить (так как в не code табуляция не видна, а вложенное в [code] - [noparse] не даёт сработать первому), сам "->" копировать не надо.

Создать новый WinForm проект, добавить или файлы исходника (с заменёнными строками), или отдельно собранную библиотеку по изменённому коду. Создать файл Form1.cs с таким кодом
using System;
using System.Drawing;
using System.Windows.Forms;

class Form1 : Form
{
RichTextBox RichTextBox1 = new RichTextBox();
Button Button1 = new Button();
public static new void Main()
{
Application.Run(new Form1());
}
public Form1()
{
Text = "CSharp|VBLikeFormat";
MaximizeBox = false;
FormBorderStyle = FormBorderStyle.FixedDialog;
{
RichTextBox1.Parent = this;
RichTextBox1.Location = Point.Empty;
RichTextBox1.Size = ClientSize - new Size(0, 25);
}
{
Button1.Parent = this;
Button1.Location = new Point(RichTextBox1.Size - new Size(ClientSize.Width, 0));
Button1.Size = new Size(ClientSize.Width, 25);
Button1.Text = "Apply";
}
Button1.Click += Button1_Click;
}
public void Button1_Click(object sender, System.EventArgs e)
{
//Manoli.Utils.CSharpFormat.VisualBasicFormat VisualBasicFormat = new Manoli.Utils.CSharpFormat.VisualBasicFormat();
//RichTextBox1.Text = VisualBasicFormat.FormatCode(RichTextBox1.Text);
Manoli.Utils.CSharpFormat.CSharpFormat CSharpFormat = new Manoli.Utils.CSharpFormat.CSharpFormat();
RichTextBox1.Text = CSharpFormat.FormatCode(RichTextBox1.Text);
}
}

В файле Form1.cs приведён пример для VB.NET(закомментирован) и C#.




© OSzone.net 2001-2012