Log plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Связей у меня нет.
Указал для примера .js. Ничего не изменилось - при открытии окна лога цвет от темы отображается, но при переключении ЦВЕТОВОЙ (может в этом всё дело?) темы цвета сбрасываются на дефолтные.

И если там указывается js, то это что означает, что цвета будут отображаться только для js-файлов? Никак не пойму логики...

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Ещё раз - включаем Coder::CodeFold.

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
Извините, пожалуйста, за настырность. Пользую dev версию AkelPad. Может в этом причина багов?
Случайно даблкликнул в окне вывода (не пустом) Log плагина и AkelPad'у хана.
Пример разумеется надуман, как всегда :)

Code: Select all

for (var i = 0; i < 10; ++i)
{
  AkelPad.Call("Log::Output", 5, (i).toString(), -1, 2);
}

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Kley
Да, в dev версии структура PATEXEC отличается. После релиза переход к строке заработает.

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Из компиляторов .NET Framework перехватывается вывод JS.NET (jsc.exe), но не перехватывается C# (csc.exe) (компиляторы входят в состав рантайм-комплекта и лежат в папках C:\Windows\Microsoft.NET\Framework(64)\(версия)\). Еще не пашет JavaScript Lint, но он x32, у меня и Винда, и Aкел x64, так что наверное поэтому. Или нужно как-то шаманить?

Вызывал через кнопку запуска и из скриптов - например, так:

Code: Select all

AkelPad.Call("Log::Output", 1,  'C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\csc.exe', null, null, 866, 866);

// Ожидание процесса
var lpState, lpCode, nState = -1, nCode = -1;
if (lpState = AkelPad.MemAlloc(4 /*sizeof(DWORD)*/ ))
{
	if (lpCode = AkelPad.MemAlloc(4 /*sizeof(DWORD)*/ ))
	{
		while (nState != 0)
		{
			AkelPad.Call("Log::Output", 3, lpState, null, null, null, lpCode);
			nState = AkelPad.MemRead(lpState, 3 /*DT_DWORD*/ );
			nCode = AkelPad.MemRead(lpCode, 3 /*DT_DWORD*/ );
			AkelPad.Call("Log::Output", 4, "State: " + nState + "; " + "Code: " + nCode + "\n"); 
			WScript.Sleep(200);
		}
		AkelPad.MemFree(lpCode);
	}
	AkelPad.MemFree(lpState);
}

Для проверки написал перехватывалку консоли на шарпе - там все прекрасно редиректит (и компиляторы, и линт):

Code: Select all

var Output = new StringBuilder();

var p = new Process();
p.StartInfo.FileName = textBox1.Text;
p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(866);
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.OutputDataReceived += (obj, args) => {
	Output.AppendLine(args.Data);
};
p.ErrorDataReceived += (obj, args) => {
	Output.AppendLine(args.Data);
};

p.Start();
p.BeginOutputReadLine();
p.BeginErrorReadLine();
p.WaitForExit();

textBox2.Text = Output.ToString();

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Нашел следующие решения касательно описанного выше:

1) Установил Roslyn-компилятор для C# 6.0 (когда запускаешь тот, что идет в составе фреймворка, там в хедере пишут мол данный компилятор поддерживает C# только до версии 5, за другим компилятором перейдите по ссылке...). И с ним Log прекрасно работает.

2) Перехват вывода программ, на которых встревает Log, можно выполнить через WSHShell, но переход к строкам ошибок по клику так не сделать:

Code: Select all

var oRun = RunCommand(command, dir);
AkelPad.Call("Log::Output", 4, oRun.Output, oRun.Output.length, 0);

function RunCommand(command, dir)
{
	var fso = new ActiveXObject("Scripting.FileSystemObject");
	var wshShell = new ActiveXObject("WScript.Shell");
	do { var tempName = fso.BuildPath(fso.GetSpecialFolder(2), fso.GetTempName()); } while ( fso.FileExists(tempName) );
	var cmdLine = fso.BuildPath(fso.GetSpecialFolder(1), "cmd.exe") + ' /C ' + command + ' > "' + tempName + '"';
	wshShell.CurrentDirectory = dir;
	var exit_code = wshShell.Run(cmdLine, 0, true);
	var output = "";
	try { output = AkelPad.ReadFile(tempName); }
	catch(err) {}
	if ( fso.FileExists(tempName) )
	fso.DeleteFile(tempName);
	return {ExitCode: exit_code, Output: output};
}

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Прошу добавить плагину настройку шрифта для строки ввода. Либо, как вариант, изменить его с дефолного шрифта для гуя на тот, что настроен в AkelPad для содержимого (и собственно используется Log-ом для вывода).

Хочу себе выставить Consolas как моноширный шрифт для интерпретаторов C# и F#.

Offline
Posts: 9
Joined: Sat Mar 12, 2011 11:54 am

Post by bolix »

Умеет ли или планируется сделать Log::Output обрабатывать перехват возврата каретки "1A"?

Чтобы не каждую строку выводил, а в ту же.
Сейчас выводит, пример (перед квадратной скобкой символ табуляции):
[1A[2KPhantomJS 2.1.1 (Windows 7 0.0.0): Executed 27 of 83 SUCCESS (0 secs / 0.445 secs)
[1A[2KPhantomJS 2.1.1 (Windows 7 0.0.0): Executed 28 of 83 SUCCESS (0 secs / 0.46 secs)

Offline
Posts: 61
Joined: Thu Feb 04, 2016 5:27 am

Post by c-sanchez »

How i can configure Akelpad Log window with a "External tool + current file"?
I need this to compile a file directly from akelpad with freebasic, but dont works with by ex. "c:\freebasic\fbc.exe %f" or "c:\freebasic\fbc.exe %%f" but works with full file path (manual way) as "c:\freebasic\fbc.exe c:\example.bas"
https://s6.postimg.org/5api7hoj5/log_fb.gif

maybe can someone make a plugin to setup external tools with custom arguments?
It would be very useful to use Akelpad as an IDE.
By example Programmers Notepad have the option "Tools"
https://s6.postimg.org/s8xd0ntdd/pnotepad_tools.png
Notepad++ i think have an nppexec plugin.
But i can't see nothing to make simple configuration for that on akelpad :(

Offline
Posts: 61
Joined: Thu Feb 04, 2016 5:27 am

Post by c-sanchez »

Pointing to: http://akelpad.sourceforge.net/forum/vi ... 2459#32459

Some option to execute batch process, so one time some call Log::Function ends, begin other call with other function/parameters. even (optionally) taking results from previous call.

I'm sorry for my poor english, but I think (or at least I hope), that you understand my opinion :P

Offline
Posts: 142
Joined: Fri Aug 15, 2008 8:58 am

Post by Diamen »

Do it is possible to change font size and background foreground color?

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Diamen wrote:Do it is possible to change font size and background foreground color?
The colours can be changed by means of the Coder plugin - notice the "Alias for Coder theme" in the Log plugin settings. Surely this requires the Coder plugin to be enabled. I've set the "Alias for Coder theme" to ".uulog" and created the following file for the Coder:

Code: Select all

;----------------------------------------------;
;           Coder plugin syntax file           ;
;----------------------------------------------;

;Author: DV
;=============

;Colors
; Color need to be in #RRGGBB format.
; If color equal to zero, then color ignored.
;
;Font styles
; 0  ignored.
; 1  normal.
; 2  bold.
; 3  italic.
; 4  bold italic.
;
;For comfort file viewing/editing set tab size to 8.


Files:
;==========
;File types
;==========
*.uulog


;----------------------------------------------;
;                  HighLight                   ;
;----------------------------------------------;

;Flags (sum of the members)
;     1  case sensitive.
;     2  word is a composition of characters ("Words:" section only). Example: "0123456789" - highlight words that contain only digits.
;     4  quote end required ("Quotes:" section only).
;     8  quote start string is ignored and last meet delimiter used as quote start ("Quotes:" section only).
;    16  quote end string is ignored and first meet delimiter used as quote end ("Quotes:" section only).
;    32  don't highlight quote start ("Quotes:" section only).
;    64  don't highlight quote end ("Quotes:" section only).
;   128  don't catch and don't highlight quote start ("Quotes:" section only).
;   256  don't catch and don't highlight quote end ("Quotes:" section only).
;   512  quote start, delimiter or word located at line start.
;  1024  quote end, delimiter or word located at line end.
;  2048  quote start is surrounded with delimiters ("Quotes:" section only).
;  4096  quote end is surrounded with delimiters ("Quotes:" section only).
;  8192  quote doesn't contain delimiters ("Quotes:" section only).
; 16384  only quote start string is catched ("Quotes:" section only).
; 32768  quote doesn't contain any character ("Quotes:" section only).


Font:
;=================================================================
;FontStyle             FontSize              FaceName
;=================================================================
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}


Colors:
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
;BasicTextColor             BasicBkColor              SelTextColor              SelBkColor              LineTextColor              LineBkColor              LineBorderColor              AltTextColor              AltBkColor              AltBorderColor              ColumnColor              MarkerColor              CaretColor              UrlColor              ActiveUrlColor              VisitUrlColor
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
${HighLight_BasicTextColor} ${HighLight_BasicBkColor} ${HighLight_SelTextColor} ${HighLight_SelBkColor} ${HighLight_LineTextColor} ${HighLight_LineBkColor} ${HighLight_LineBorderColor} ${HighLight_AltTextColor} ${HighLight_AltBkColor} ${HighLight_AltBorderColor} ${HighLight_ColumnColor} ${HighLight_MarkerColor} ${HighLight_CaretColor} ${HighLight_UrlColor} ${HighLight_ActiveUrlColor} ${HighLight_VisitUrlColor}


BkImage:
;==================================================
;BkImageFile              BkImageAlpha
;==================================================
${HighLight_BkImageFile}  ${HighLight_BkImageAlpha}


AutoMark:
;====================================================================================================================
;AutoMarkFlags             AutoMarkFontStyle              AutoMarkTextColor              AutoMarkBkColor
;====================================================================================================================
${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor}


Quotes:
;===================================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote   Parent  Rule
;       style   text    bkgrnd  start   end     char    include exclude ID      ID
;===================================================================================
;5=1+4
5	3	${STR}	0	`"`	`"`	""	""	""	0	0


QuotesRE:
;===========================================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;===========================================================================================
513	`^\s*(\([0-9]+\s*[0-9]*\,[0-9]+\))` `\1=(3,${DEL1},0)`	0	0


Delimiters:
;===============================================
;Flags  Font    Color   Color   Char(s)   Parent
;       style   text    bkgrnd            ID
;===============================================
1	0	0	0	" "
1	0	0	0	"	"
1	0	0	0	.
1	0	0	0	,
1	0	0	0	;
1	0	0	0	:
1	0	0	0	!
1	0	0	0	?
1	0	${DEL2}	0	(
1	0	${DEL2}	0	)
1	0	${DEL2}	0	{
1	0	${DEL2}	0	}
1	0	${DEL2}	0	[
1	0	${DEL2}	0	]
1	0	${DEL2}	0	`"`
1	0	${DEL2}	0	`«`
1	0	${DEL2}	0	`»`
1	0	${DEL2}	0	`‘`
1	0	${DEL2}	0	`’`
1	0	${DEL2}	0	`“`
1	0	${DEL2}	0	`”`
1	0	${DEL2}	0	/
1	0	${DEL2}	0	\
1	0	${DEL2}	0	<
1	0	${DEL2}	0	>
1	0	${DEL2}	0	=
1	0	${DEL2}	0	+


Words:
;===========================================
;Flags  Font    Color   Color   Word                       Parent
;       style   text    bkgrnd                             ID
;===========================================



;----------------------------------------------;
;                   CodeFold                   ;
;----------------------------------------------;

;Flags (sum of the members)
;       1  case sensitive.
;       2  force get fold name for function list from left at the fold start ("Folds:" section only).
;       4  force get fold name for function list from right at the fold start, including fold start ("Folds:" section only).
;       8  fold start located at line start ("Folds:" section only).
;      16  fold start located at line end ("Folds:" section only).
;      32  fold end located at line start ("Folds:" section only).
;      64  fold end located at line end ("Folds:" section only).
;     128  don't catch fold end ("Folds:" section) or skip end ("Skips:" section).
;     256  additional to 128 flag - more priority is given to sibling level instead of parent level ("Folds:" section only).
;     512  comment fold - fold ignore any other folds and skips inside ("Folds:" section only).
;    1024  reserved.
;    2048  deny fold - founded fold will be ignored ("Folds:" section only).
;    4096  xml fold - "<tag" and "</tag>", "<single" and "/>", "<single" and ">" ("Folds:" section only).
;    8192  don't check delimiters from left of fold start ("Folds:" section only).
;   16384  don't check delimiters from right of fold start ("Folds:" section only).
;   32768  don't check delimiters from left of fold end ("Folds:" section only).
;   65536  don't check delimiters from right of fold end ("Folds:" section only).
;  131072  deny delimiters ("Folds:" section only).
;  262144  don't show fold in list ("Folds:" section only).
; 1048576  regular expression in fold start ("Folds:" section) or skip start ("Skips:" section).
; 2097152  regular expression in fold end ("Folds:" section) or skip end ("Skips:" section).


FoldPanel:
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;PanelFirstBkColor            PanelSecondBkColor             PanelNormalFoldColor             PanelActiveFoldColor             PanelNormalNodeOpenBkColor             PanelNormalNodeCloseBkColor             PanelActiveNodeOpenBkColor             PanelActiveNodeCloseBkColor             PanelNormalNodeOpenSignColor             PanelNormalNodeCloseSignColor             PanelActiveNodeOpenSignColor             PanelActiveNodeCloseSignColor
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${CodeFold_PanelFirstBkColor} ${CodeFold_PanelSecondBkColor} ${CodeFold_PanelNormalFoldColor} ${CodeFold_PanelActiveFoldColor} ${CodeFold_PanelNormalNodeOpenBkColor} ${CodeFold_PanelNormalNodeCloseBkColor} ${CodeFold_PanelActiveNodeOpenBkColor} ${CodeFold_PanelActiveNodeCloseBkColor} ${CodeFold_PanelNormalNodeOpenSignColor} ${CodeFold_PanelNormalNodeCloseSignColor} ${CodeFold_PanelActiveNodeOpenSignColor} ${CodeFold_PanelActiveNodeCloseSignColor}


FoldList:
;================================================
;ListTextColor            ListBkColor
;================================================
${CodeFold_ListTextColor} ${CodeFold_ListBkColor}


TagMark:
;============================================================================================================
;TagMarkFlags            TagMarkFontStyle             TagMarkTextColor             TagMarkBkColor
;============================================================================================================
${CodeFold_TagMarkFlags} ${CodeFold_TagMarkFontStyle} ${CodeFold_TagMarkTextColor} ${CodeFold_TagMarkBkColor}


Skips:
;=============================
;Flags  Skip    Skip    Escape
;       start   end     char
;=============================


Folds:
;================================================================================
;Flags  Font    Color   Color   Fold    Fold    Delimiters   Parent  Rule    Rule
;       style   text    bkgrnd  start   end                  ID      ID      file
;================================================================================


;----------------------------------------------;
;                 AutoComplete                 ;
;----------------------------------------------;

CompleteList:
;=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;ListFontStyle                ListFontSize                 ListFaceName                 ListLineGap                 ListBlockIcon `"C:\1.dll", 0` ListBlockIconMargins "left;right"    ListHlBaseIcon `"C:\1.dll", 0` ListHlBaseIconMargins "left;right"    ListDocWordIcon `"C:\1.dll", 0` ListDocWordIconMargins "left;right"    ListBasicTextColor                 ListBasicBkColor                 ListSelTextColor                 ListSelBkColor
;=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${AutoComplete_ListFontStyle} ${AutoComplete_ListFontSize} ${AutoComplete_ListFaceName} ${AutoComplete_ListLineGap} ${AutoComplete_ListBlockIcon} ${AutoComplete_ListBlockIconMargins} ${AutoComplete_ListHlBaseIcon} ${AutoComplete_ListHlBaseIconMargins} ${AutoComplete_ListDocWordIcon} ${AutoComplete_ListDocWordIconMargins} ${AutoComplete_ListBasicTextColor} ${AutoComplete_ListBasicBkColor} ${AutoComplete_ListSelTextColor} ${AutoComplete_ListSelBkColor}


Blocks:
;=============================================================================
;Abbreviations and blocks
;
; $~abbr   normal abbreviation.
; $(flags)~abbr  normal abbreviation with flags.
; $=abbr   exact abbreviation. May contain delimiters.
; $(flags)=abbr  exact abbreviation with flags. May contain delimiters.
; $[]      set caret to this position. Can be multiple (hot spots).
; $[text]  select text. Can be multiple (hot spots).
; $$       symbol $.
; $\]      escape symbol ]. Can be used in $[text] block: $[One [1$\] ].
; ${VAR}   variable assigned from Coder::Settings.
; $;       comment line.
;=============================================================================

It simply inherits current Coder's colour theme. Surely all the colours within "uulog.coder" could be hardcoded to some constant values instead. As well as the font could be changed by hadcoding some constant values instead of the ${HighLight_FontStyle}, ${HighLight_FontSize} and ${HighLight_FaceName}.

Offline
Posts: 142
Joined: Fri Aug 15, 2008 8:58 am

Post by Diamen »

ty

Offline
Posts: 142
Joined: Fri Aug 15, 2008 8:58 am

Post by Diamen »

I have added ${LogFontSize} constant in coder setting.
replaced
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}
with
${HighLight_FontStyle} ${LogFontSize} ${HighLight_FaceName}
in uulog.coder but size not change
i tryed with txt.coder and work
do it not support in log console?

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Diamen
Do you tried without variable(s):

Code: Select all

Font:
;=================================================================
;FontStyle             FontSize              FaceName
;=================================================================
2                      8                     Courier New
?
Post Reply