Latest post of the previous page:
Извиняюсь, но нет.В тру-темплейт *очень* подробный мануал. Читай, и обрящешь это знание.
Могу лишь подсказать, что важно не значение, а название атрибута. А в атрибуте To ключевыми являются одинарные скобки.
Latest post of the previous page:
Извиняюсь, но нет.Code: Select all
45 строка true-tpl.h:
+ CMD_WrappedString,
548 (или еще какая) строка commands.cpp
+ case CMD_WrappedString:
+ {
+ // не понял как они там делятся. хотя, это ссылки, наверное). жаль что давно с с++ дела не имел
+ // пусть будет @@WRAPSTR:String name:PREFIX:SUFFIX@@
+ if (szParam1 && *szParam1)
+ {
+ szParam3 = GetParamParam (szParam2); // ???
+ psz = DoString (szParam1, 0, szString, sizeof (szString)); // !!!?
+ if ( psz && *psz ) { // psz != ""
+ psz... // psz = szParam2 + psz + szParam3;
+ } else
+ *psz = 0; // psz = "";
+ }
+
+ conv = false;
+ }
+ break;
примерно 799 строка commands.cpp
+ else if (!lstrcmpi (macro, "WRAPSTR"))
+ eCommand = CMD_WrappedString;
Code: Select all
/**
* [курсор здесь, нажимаем ентер]
*/
Code: Select all
<Define Name="PHPDoc" Value="\s*\*\s\p"/>
<Expand At="&PHPDoc;" Key="Enter" To="\r * \p"/>
Code: Select all
/**
*
* [курсор]
*/
Code: Select all
/**
* phpdoc
*/
oops.
product:
- sku : Yaml
description : Files
- sku : BL4438H
description : Super Hoop
oops?
Code: Select all
<Indent Pattern="\s\*\/" Relative="\/\*\*" Line="0" Next="0"/> пробел в начале
<Indent Pattern="\*\/" Relative="\/\*\*" Line="0" LinePrefix=" " Next="0"/>
Code: Select all
<Expand At="&PHPDocFilled;" Key="ShiftEnter" To="\r* \p"/>
<Expand At="&PHPDocOpen;" Key="ShiftEnter" To="\r * \p"/>
Code: Select all
<Expand Imm="'" Pattern="'(\w+)'" To="=\$1=\p" /> тестируем это.
'qwe' → =qwe'=
C::B - Code::Blocks - http://www.codeblocks.org/downloadsиначе не собиралось в C::B+minGW
Code: Select all
void WINAPI _export SetStartupInfoW(const struct PluginStartupInfo *Info)
{
::Info = *Info;
IsOldFar = true;
if (Info->StructSize >= sizeof(PluginStartupInfo))
{
::Info=*Info;
FSF=*Info->FSF;
::Info.FSF=&FSF;
IsOldFar = false;
GetRegKey (HKEY_CURRENT_USER, "", "AutoCompile", autocompile, 1);
GetRegKey (HKEY_CURRENT_USER, "", "AutoFormat", autoformat, 1);
GetRegKey (HKEY_CURRENT_USER, "", "Disable", pluginStop, 0);
GetRegKey (HKEY_CURRENT_USER, "", "UseScrollLock", scrollStop, 1);
GetRegKey (HKEY_CURRENT_USER, "", "IgnorePosition", ignoreposn, 1);
GetRegKey (HKEY_CURRENT_USER, "", "OutputMenu", outputmenu, 1);
GetRegKey (HKEY_CURRENT_USER, "", "OutputFilter", filterring, 1);
GetRegKey (HKEY_CURRENT_USER, "", "Key", defExpandFKey, KEY_SPACE);
InitMacro ();
}
}
Code: Select all
static inline void EditorProcessFARKey (int key)
{
Info.EditorControl (ECTL_PROCESSKEY, (void *) key);
}
Code: Select all
static inline void EditorProcessGlobalFARKey (int key)
{
DWORD newkey = key;
KeySequence ks;
ks.Flags = KSFLAGS_DISABLEOUTPUT;
ks.Count = 1;
ks.Sequence = &newkey;
Info.AdvControl (Info.ModuleNumber, ACTL_POSTKEYSEQUENCE, (void *) &ks);
}
1. См. в энциклопедии SettingsControl. Примеры использования должны найтись в стандартных плагинах.4ekucT wrote:Вопрос номер один - как нынче зачитываются и сохраняются конфигурации плагинов?
[...]
Вопрос номер два: как послать клавишу с заданным кодом
[...]
Вопрос номер три: что делать с ACTL_POSTKEYSEQUENCE?
L"Keys('CtrlA Esc F7')"
.Code: Select all
void EditorProcessReturnKey ()
{
INPUT_RECORD tr;
tr.EventType = KEY_EVENT;
tr.Event.KeyEvent.bKeyDown = true;
tr.Event.KeyEvent.wRepeatCount = 1;
tr.Event.KeyEvent.wVirtualKeyCode = VK_RETURN;
tr.Event.KeyEvent.wVirtualScanCode = 0;
tr.Event.KeyEvent.uChar.UnicodeChar = 0;
tr.Event.KeyEvent.dwControlKeyState = 0;
Info.EditorControl (-1, ECTL_PROCESSINPUT, 0, &tr);
}