Организация макросов, пользовательские хоткеи, настройки, …

Здесь обсуждается всё, что касается макросов.
User avatar
Wave
Posts: 1702
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Организация макросов, пользовательские хоткеи, настройки

Postby Wave » Sat 05 Jul, 2014 10:01

Latest post of the previous page:

Из личного.
Как бы мне не хотелось не трогать скачаные макросы, но вообще-то я их устанавливаю одновременно редактируя дескрипшн. В таком стиле:

© SimSU: Panel — Переименование с сохранением расширения.
© SimSU: Editor — Уменьшение отступа помеченного блока.
Shell: создание папки с именем = текущей дате
RESearch: Shell - ShiftF7

Это ОЧЕНЬ помогает находить нужные макросы в макробраузере и всё такое. Дополнительный уровень сортировки.
Так что rebind для меня не так чтобы слишком полезен. Он не снимает необходимость лезть в исходный макр. В общем, если предложение пройдёт, то пожелание также уметь переопределять описание макроса.

Второе. Дошли-таки руки начать вносить макросы в FarMenu.ini и Editor.Menu.lua. И оказалось, что великолепно всё работает даже если ставить макросам шоткаты типа calend и checkspel. Да, макросы при этом вызываются ТОЛЬКО из меню, но зато полностью исключаются конфликты шоткатов. А заодно шоткаты стали немного намекать на то, что они делают.
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Re: Организация макросов, пользовательские хоткеи, настройки

Postby John Doe » Sat 05 Jul, 2014 11:36

Wave wrote:Как бы мне не хотелось не трогать скачаные макросы, но вообще-то я их устанавливаю одновременно редактируя дескрипшн. В таком стиле:

© SimSU: Panel — Переименование с сохранением расширения.
© SimSU: Editor — Уменьшение отступа помеченного блока.
Shell: создание папки с именем = текущей дате
RESearch: Shell - ShiftF7

Это ОЧЕНЬ помогает находить нужные макросы в макробраузере и всё такое. Дополнительный уровень сортировки.
Сценарий использования мне пока не до конца ясен.
Важно ДЛЯ ЧЕГО вы ищете макросы, и что с ними далее делаете.

Менять комментарий с помощью rebind тоже ВОЗМОЖНО, но прежде давайте рассмотрим другие варианты решения, доступные в MacroBrowser alt.
  • Перед тем, как искать макросы в огромном списке, можно применить фильтр. По имени файла, по области, и т.д.
  • Можно (планируется) выводить дополнительную колонку с именем файла (сортировка по файлу есть).
    Есть режим группировки: все макросы группируются согласно файлу, в котором определены.
  • Можно (в перспективе) выводить дополнительную колонку с тагами, которые вы можете задавать сами для каждого макроса.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Re: Организация макросов, пользовательские хоткеи, настройки

Postby John Doe » Sat 05 Jul, 2014 11:54

Wave wrote:Второе. Дошли-таки руки начать вносить макросы в FarMenu.ini и Editor.Menu.lua. И оказалось, что великолепно всё работает даже если ставить макросам шоткаты типа calend и checkspel. Да, макросы при этом вызываются ТОЛЬКО из меню, но зато полностью исключаются конфликты шоткатов. А заодно шоткаты стали немного намекать на то, что они делают.
eval нельзя назвать удобным средством вызывать макросы из меню.
Такие макросы по сути уже не являются макросами, и по хорошему их стоит поместить в библиотеку функций (которые можно назвать как угодно).

Но ваша идея мне тоже нравится. И ведь не обязательно заменять шорткат, иногда лучше его дополнить, просто добавив ещё одно имя, по которому вы будете вызывать его из своих меню.
Rebind кстати эту задачу успешно решает.

User avatar
Wave
Posts: 1702
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Организация макросов, пользовательские хоткеи, настройки

Postby Wave » Sat 05 Jul, 2014 12:10

1. Повторюсь — дополнительный уровень фильтрации. Например, увидеть только макросы для панелей, причём, из них только макросы из набора SimSU. Причём, увидеть сразу, не фильтруя, потому что они уже отсортированы. Собственно браузером макросов я пользовался ещё во втором ФАРе, когда до луа было далеко, а макробраузер был нативным плагином. Именно тогда завёл себе такую практику. Может быть сейчас это уже не нужно, если привыкнуть активно фильтровать макры, запомнить все хоткеи и возможности MacroBrowser alt., но я не так часто им пользуюсь, чтобы на память всё знать. Вот занялся давеча макросами, мне пришлось лезть в файл, чтобы вспомнить, как этот макробраузер вызвать. И читать справку, чтобы вспомнить, где какая сортировка. Не говоря уже о том, что некоторые колонки мне не совсем понятны. Например, что за галочки стоят перед некоторыми макросами? Перед колонкой макрообластей.
На таких условиях мне удобней отсортировать по описаниям, где сразу видно, к чему относится макрос.

2. Что поделать, если эта библиотека функций оформлена именно как макрос? И хорошо если в этом макросе есть отдельно функция, а отдельно её вызов по хоткею, тогда в принципе её можно отправить в модули и из меню вызывать именно как require "mymacros"; functionOfMacros(argument); А если нет? Зачем оно мне нужно именно в меню, я уже писал. А чтобы организовать это всё у себя «правильно», мне нужно гораздо плотнее и глубже это всё освоить-перебрать и переписать много чего скачанного с форума. Либо просто закинуть в scripts и засунуть в меню eval("hotkey", 2);
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Re: Организация макросов, пользовательские хоткеи, настройки

Postby John Doe » Sat 05 Jul, 2014 12:28

Wave wrote:[...]запомнить все хоткеи и возможности MacroBrowser alt., но я не так часто им пользуюсь, чтобы на память всё знать. Вот занялся давеча макросами, мне пришлось лезть в файл, чтобы вспомнить, как этот макробраузер вызвать. И читать справку, чтобы вспомнить, где какая сортировка.
Нижний заголовок списка содержит основные клавиши, их достаточно для эпизодического использования.

Wave wrote:Не говоря уже о том, что некоторые колонки мне не совсем понятны. Например, что за галочки стоят перед некоторыми макросами? Перед колонкой макрообластей.
Перед колонкой макрообластей галка обозначает то же, что и в штатном браузере: макросы, применимые к области, из которой вы вызвали браузер. Ctrl-H фильтрует список соответственно.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Re: Организация макросов, пользовательские хоткеи, настройки

Postby John Doe » Sat 05 Jul, 2014 12:35

Wave wrote:1. Повторюсь — дополнительный уровень фильтрации. Например, увидеть только макросы для панелей, причём, из них только макросы из набора SimSU. Причём, увидеть сразу, не фильтруя, потому что они уже отсортированы.[...]
На таких условиях мне удобней отсортировать по описаниям, где сразу видно, к чему относится макрос.
Но чтобы достичь этого вам пришлось вручную править описания.
А MacroBrowser alt. мог бы дать ту же возможность одним нажатием: имя файла начинается с SimSU, описания отсортированы, отображаются только макросы Shell.

Wave wrote:2. Что поделать, если эта библиотека функций оформлена именно как макрос?
Я ведь выше и написал, что ваша идея хороша, и имена даже можно добавлять к имеющимся шорткатам.

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Организация макросов, пользовательские хоткеи, настройки

Postby AleXH » Sat 05 Jul, 2014 12:40

Т.е. частично вопрос можно решить добавлением в MBA автогенератора описания, берущего по uid сопоставленный ник, добавляет двоеточие с пробелом, область действия с точкой и пробелом, и уже после описание. Вопрос лишь в том, что нужен некий "стандарт" в описании макросов.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Re: Организация макросов, пользовательские хоткеи, настройки

Postby John Doe » Sat 05 Jul, 2014 12:51

Я очень сомневаюсь, что можно рассчитывать на какой-то стандарт в обозримом будущем.
Реальнее сделать в MBA кастомную колонку по заданному шаблону. Вместо автора использовать таг.

gotar
Posts: 292
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby gotar » Sat 18 Jun, 2016 10:51

John Doe, используете ли Вы все о чем Вы здесь писали? В частности, работает ли rebind после изменения возвращаемого значения у AddMacro?

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby John Doe » Sat 18 Jun, 2016 11:04

gotar wrote:Source of the post используете ли Вы все о чем Вы здесь писали?
Использую.
Всё ли - не знаю, уточните вопрос.
gotar wrote:Source of the post работает ли rebind
Да, с этим исправлением IgorZ @ rebind — управление клавишами вызова макросов

gotar
Posts: 292
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby gotar » Sat 18 Jun, 2016 11:22

Могли бы Вы опубликовать тот rebind, которым Вы пользуетесь?

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby John Doe » Sat 18 Jun, 2016 11:31

Я год к нему не прикасался, и даже не помню в каком он состоянии.
Функций там не добавилось.

gotar
Posts: 292
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby gotar » Sat 18 Jun, 2016 12:26

У меня при старте Far выдается
при удалении rebind.lua из modules ругается только _macroinit.lua. Не могли бы Вы проверить, что в _macroinit.lua у Вас есть ?
Last edited by HaRT on Sat 18 Jun, 2016 12:56, edited 1 time in total.
Reason: [spoiler]

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby John Doe » Sat 18 Jun, 2016 12:28

У меня так:

Code: Select all

local rebind = require"rebind"
if rebind then
  --rebind.Setup{auto_uids=true}
  rebind.Setup {auto_uids=true,no_warnings=true}
  rebind.LoadBindings()
end

gotar
Posts: 292
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby gotar » Sat 18 Jun, 2016 13:39

Ошибка в строчке debug.setupvalue (LoadMacros, iAddMacro, AddMacroNew)в файле rebind.lua. При этом LoadMacros и AddMacroNew функции, а iAddMacro маленькое целое число. Может подскажите в чем дело?

gotar
Posts: 292
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby gotar » Sat 18 Jun, 2016 13:47

Я думаю, что проблема где то в этом коде

Code: Select all

do --get LoadedMacros, set AddMacro
  local function getUpvalue(f,name)
    for i=1,1000 do
      local k,v = debug.getupvalue (f, i)
      if k==nil then
        error("unable to get upvalue: "..name)
      end
      if k==name then return v, i end
    end
  end
  LoadedMacros = getUpvalue(mf.GetMacroCopy,"LoadedMacros")
  local LoadMacros = getUpvalue(eval,"utils").LoadMacros
  local AddMacro,iAddMacro = getUpvalue(LoadMacros,"AddRegularMacro")
  if not mf.AddMacro then mf.AddMacro = AddMacro end
  far.Show(AddMacroNew)
  debug.setupvalue (LoadMacros,iAddMacro,AddMacroNew)
end


У Вас также?

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Организация макросов, пользовательские хоткеи, настройки, …

Postby John Doe » Sat 18 Jun, 2016 14:08

gotar wrote:Source of the post Ошибка в строчке debug.setupvalue (LoadMacros, iAddMacro, AddMacroNew)
Ошибка не здесь.
Это место, где подменяется функция Macro.

Попробуйте с пустой папкой scripts, и пустым _macroinit.lua (подключив там только rebind).
Потом добавьте свои макросы, по одному.


Return to “Обсуждение макросов”

Who is online

Users browsing this forum: No registered users and 2 guests