Jedi code format: add support for "Whitesmiths" format style.

This commit is contained in:
DomingoGP 2024-10-28 10:44:55 +01:00
parent 01c4f3588d
commit 1db5f4272e
21 changed files with 405 additions and 41 deletions

View File

@ -24,7 +24,9 @@
<FirstLevelIndent> 0 </FirstLevelIndent> <FirstLevelIndent> 0 </FirstLevelIndent>
<HasFirstLevelIndent> False </HasFirstLevelIndent> <HasFirstLevelIndent> False </HasFirstLevelIndent>
<IndentBeginEnd> False </IndentBeginEnd> <IndentBeginEnd> False </IndentBeginEnd>
<IndentExtraTryBlockKeyWords> False </IndentExtraTryBlockKeyWords>
<IndentbeginEndSpaces> 2 </IndentbeginEndSpaces> <IndentbeginEndSpaces> 2 </IndentbeginEndSpaces>
<IndentExtraTryBlockKeyWordsSpaces> 2 </IndentExtraTryBlockKeyWordsSpaces>
<IndentLibraryProcs> True </IndentLibraryProcs> <IndentLibraryProcs> True </IndentLibraryProcs>
<IndentProcedureBody> False </IndentProcedureBody> <IndentProcedureBody> False </IndentProcedureBody>
<KeepCommentsWithCodeInGlobals> True </KeepCommentsWithCodeInGlobals> <KeepCommentsWithCodeInGlobals> True </KeepCommentsWithCodeInGlobals>
@ -38,6 +40,8 @@
<IndentVarAndConstInClass> False </IndentVarAndConstInClass> <IndentVarAndConstInClass> False </IndentVarAndConstInClass>
<IndentInterfaceGuid> True </IndentInterfaceGuid> <IndentInterfaceGuid> True </IndentInterfaceGuid>
<IndentLabels> 0 </IndentLabels> <IndentLabels> 0 </IndentLabels>
<IndentEndTryBlockAsCode> False </IndentEndTryBlockAsCode>
<IndentExtraOrphanTryBlocks> False </IndentExtraOrphanTryBlocks>
</Indent> </Indent>
<Spaces> <Spaces>
<TabsToSpaces> True </TabsToSpaces> <TabsToSpaces> True </TabsToSpaces>

View File

@ -119,6 +119,9 @@ resourcestring
lisIndentLabelsIndentPrevLevel = 'Indent to prior level'; lisIndentLabelsIndentPrevLevel = 'Indent to prior level';
lisIndentLabelslIndentToProcedure = 'Indent to procedure level'; lisIndentLabelslIndentToProcedure = 'Indent to procedure level';
lisIndentLabelsIndentX0 = 'Indent to first column position'; lisIndentLabelsIndentX0 = 'Indent to first column position';
lisIndentTryFinallyExcept = 'Indent try/finally/except';
lisIndentEndTryBlockAsCode = 'Indent end try block as code';
lisIndentExtraOrphanTryBlocks = 'Extra Indent for orphan try blocks';
//Blank lines tab //Blank lines tab
lisBLBlankLines = 'Blank Lines'; lisBLBlankLines = 'Blank Lines';

View File

@ -640,6 +640,11 @@ msgstr ""
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "" msgstr ""
@ -660,6 +665,10 @@ msgstr ""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "" msgstr ""
@ -724,6 +733,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "" msgstr ""
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "" msgstr ""

View File

@ -641,6 +641,11 @@ msgstr "Leerzeichen für Blockeinrücking"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Unterschiedliche Einrückung in der ersten Ebene" msgstr "Unterschiedliche Einrückung in der ersten Ebene"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Zusätzliche Einrückung für Begin/End in Prozeduren" msgstr "Zusätzliche Einrückung für Begin/End in Prozeduren"
@ -661,6 +666,10 @@ msgstr "Zusätzliche Einrückung bei If..Else-Blöcken"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Einrückung" msgstr "Einrückung"
@ -728,6 +737,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Einstellungen" msgstr "Einstellungen"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "JCF-Formateinstellungen" msgstr "JCF-Formateinstellungen"

View File

@ -636,6 +636,11 @@ msgstr ""
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "" msgstr ""
@ -656,6 +661,10 @@ msgstr ""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "" msgstr ""
@ -720,6 +729,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "" msgstr ""
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "" msgstr ""

View File

@ -642,6 +642,11 @@ msgstr "Espaces de retrait de bloc"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Retrait différent pour le premier niveau" msgstr "Retrait différent pour le premier niveau"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Retrait supplémentaire pour \"begin/end\" dans les procédures" msgstr "Retrait supplémentaire pour \"begin/end\" dans les procédures"
@ -662,6 +667,10 @@ msgstr "Retrait supplémentaire pour les blocs \"If...Else\""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Indentation" msgstr "Indentation"
@ -728,6 +737,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Options" msgstr "Options"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "Paramètres de formatage de JCF" msgstr "Paramètres de formatage de JCF"

View File

@ -643,6 +643,11 @@ msgstr "Blokkbehúzás szóközeinek száma"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Eltérő behúzás az első szinten" msgstr "Eltérő behúzás az első szinten"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Extra behúzás a begin/end számára eljárásokban" msgstr "Extra behúzás a begin/end számára eljárásokban"
@ -663,6 +668,10 @@ msgstr "Extra behúzás az If...Else számára"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Behúzás" msgstr "Behúzás"
@ -729,6 +738,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Beállítások" msgstr "Beállítások"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "JCF formázás beállításai" msgstr "JCF formázás beállításai"

View File

@ -643,6 +643,11 @@ msgstr "Spazi di indentazione dei blocchi"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Indentazione diversa per il primo livello" msgstr "Indentazione diversa per il primo livello"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Indentazione extra per begin/end all'interno delle procedure" msgstr "Indentazione extra per begin/end all'interno delle procedure"
@ -663,6 +668,10 @@ msgstr "Indentazione extra per blocchi If...Else"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Indentazione" msgstr "Indentazione"
@ -729,6 +738,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Opzioni" msgstr "Opzioni"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "Impostazioni formato JCF" msgstr "Impostazioni formato JCF"

View File

@ -642,6 +642,11 @@ msgstr "ブロックインデントの空白数"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "最初のレベルとは異なるインデント" msgstr "最初のレベルとは異なるインデント"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "手続き内での begin/end にインデントを追加する" msgstr "手続き内での begin/end にインデントを追加する"
@ -662,6 +667,10 @@ msgstr "if...else ブロックにインデントを追加する"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "インデント" msgstr "インデント"
@ -728,6 +737,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "オプション" msgstr "オプション"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "JCF 整形設定" msgstr "JCF 整形設定"

View File

@ -642,6 +642,11 @@ msgstr "Tarpai bloko įtraukoje"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Pirmam lygiui kitokia įtrauka" msgstr "Pirmam lygiui kitokia įtrauka"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Papildoma „begin“/„end“ įtrauka procedūrų viduje" msgstr "Papildoma „begin“/„end“ įtrauka procedūrų viduje"
@ -662,6 +667,10 @@ msgstr "Papildoma „If...Else“ blokų įtrauką"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Įtrauka" msgstr "Įtrauka"
@ -728,6 +737,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Parinktys" msgstr "Parinktys"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "JCF formato nuostatos" msgstr "JCF formato nuostatos"

View File

@ -642,6 +642,11 @@ msgstr ""
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "" msgstr ""
@ -662,6 +667,10 @@ msgstr ""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "" msgstr ""
@ -726,6 +735,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Opcje" msgstr "Opcje"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "" msgstr ""

View File

@ -620,6 +620,11 @@ msgstr ""
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "" msgstr ""
@ -640,6 +645,10 @@ msgstr ""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "" msgstr ""
@ -704,6 +713,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "" msgstr ""
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "" msgstr ""

View File

@ -642,6 +642,11 @@ msgstr "Espaços identação blocos"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Identação diferente para primeiro nível" msgstr "Identação diferente para primeiro nível"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Identação extra para \"begin/end\" dentro de procedimento" msgstr "Identação extra para \"begin/end\" dentro de procedimento"
@ -662,6 +667,10 @@ msgstr "Identação extra para blocos \"If...Else\""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Identação" msgstr "Identação"
@ -728,6 +737,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Opções" msgstr "Opções"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "Configurações \"JCF\"" msgstr "Configurações \"JCF\""

View File

@ -634,6 +634,11 @@ msgstr "Отступ блока в пробелах"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Другой отступ для блоков первого уровня" msgstr "Другой отступ для блоков первого уровня"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Дополнительный отступ для begin/end в процедурах" msgstr "Дополнительный отступ для begin/end в процедурах"
@ -654,6 +659,10 @@ msgstr "Дополнительный отступ для блоков If...Else"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "Дополнительный отступ для GUID интерфейса" msgstr "Дополнительный отступ для GUID интерфейса"
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Отступы" msgstr "Отступы"
@ -718,6 +727,10 @@ msgstr "Добавить для оператора"
msgid "Options" msgid "Options"
msgstr "Параметры" msgstr "Параметры"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "Форматирование кода JEDI" msgstr "Форматирование кода JEDI"

View File

@ -645,6 +645,11 @@ msgstr "Пробіли відступу в блоках"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "Інший відступ для першого рівня" msgstr "Інший відступ для першого рівня"
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "Додатковий відступ для begin/end в процедурах" msgstr "Додатковий відступ для begin/end в процедурах"
@ -665,6 +670,10 @@ msgstr "Додатковий відступ для блоків If...Else"
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "Відступи" msgstr "Відступи"
@ -729,6 +738,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "Параметри" msgstr "Параметри"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "Параметри форматування JCF" msgstr "Параметри форматування JCF"

View File

@ -642,6 +642,11 @@ msgstr "语句块缩进空格"
msgid "Different indent for first level" msgid "Different indent for first level"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentendtryblockascode
msgctxt "jcfuiconsts.lisindentendtryblockascode"
msgid "Indent end try block as code"
msgstr ""
#: jcfuiconsts.lisindentextraindentforbeginend #: jcfuiconsts.lisindentextraindentforbeginend
msgid "Extra indent for begin/end inside procedures" msgid "Extra indent for begin/end inside procedures"
msgstr "" msgstr ""
@ -662,6 +667,10 @@ msgstr ""
msgid "Extra Indent for interface GUID" msgid "Extra Indent for interface GUID"
msgstr "" msgstr ""
#: jcfuiconsts.lisindentextraorphantryblocks
msgid "Extra Indent for orphan try blocks"
msgstr ""
#: jcfuiconsts.lisindentindentation #: jcfuiconsts.lisindentindentation
msgid "Indentation" msgid "Indentation"
msgstr "缩进(Indentation)" msgstr "缩进(Indentation)"
@ -726,6 +735,10 @@ msgstr ""
msgid "Options" msgid "Options"
msgstr "选项" msgstr "选项"
#: jcfuiconsts.lisindenttryfinallyexcept
msgid "Indent try/finally/except"
msgstr ""
#: jcfuiconsts.lisjcfformatsettings #: jcfuiconsts.lisjcfformatsettings
msgid "JCF Format Settings" msgid "JCF Format Settings"
msgstr "JCF格式设置" msgstr "JCF格式设置"

View File

@ -338,6 +338,32 @@ begin
end; end;
end; end;
function IsEndOfFinallyOrExceptBlock(const pt:TSourceToken):boolean;
begin
result := (pt.TokenType = ttEnd) and (pt.HasParentNode(nFinallyBlock,1) or pt.HasParentNode(nExceptBlock));
end;
function OrphanTryBlocksCount(const pt: TSourceToken): integer;
var
lcParent: TParseTreeNode;
begin
Result := 0;
lcParent := pt;
while (lcParent <> nil) do
begin
if lcParent.NodeType = nTryAndHandlerBlock then
begin
lcParent := lcParent.Parent;
if (lcParent <> nil) and (lcParent.NodeType = nStatement) then
lcParent := lcParent.Parent;
if (lcParent <> nil) and (lcParent.NodeType <> nStatementList) then
Inc(Result);
end;
if lcParent <> nil then
lcParent := lcParent.Parent;
end;
end;
function CalculateIndent(const pt: TSourceToken;aAlignPreprocessor:boolean=true): integer;forward; function CalculateIndent(const pt: TSourceToken;aAlignPreprocessor:boolean=true): integer;forward;
//Align {$ENDIF}/{$IFEND}/{$ELSE}/{$ELSEIF} with his {$IF}/{$IFDEF}/{$$IFNDEF}/{$IFOPT} //Align {$ENDIF}/{$IFEND}/{$ELSE}/{$ELSEIF} with his {$IF}/{$IFDEF}/{$$IFNDEF}/{$IFOPT}
@ -648,8 +674,21 @@ begin
if FormattingSettings.Indent.IndentElse then if FormattingSettings.Indent.IndentElse then
liIndentCount := liIndentCount + ElseDepth(pt); liIndentCount := liIndentCount + ElseDepth(pt);
//increment indent for orphan try blocks
// if condition then while condition do ...
// try
// finally
// end
if FormattingSettings.Indent.IndentExtraOrphanTryBlocks then
begin
if pt.HasParentNode(nTryAndHandlerBlock) then
begin
liIndentCount := liIndentCount + OrphanTryBlocksCount(pt);
end;
end;
if (pt.TokenType=ttEnd) and FormattingSettings.Indent.IndentEndTryBlockAsCode and IsEndOfFinallyOrExceptBlock(pt) then
inc(liIndentCount);
end; // procedures end; // procedures
{ record declaration stuph } { record declaration stuph }
@ -794,12 +833,29 @@ begin
// IndentBeginEnd option to indent begin/end words a bit extra // IndentBeginEnd option to indent begin/end words a bit extra
if FormattingSettings.Indent.IndentBeginEnd then if FormattingSettings.Indent.IndentBeginEnd then
begin begin
if (pt.TokenType in [ttTry, ttExcept, ttFinally, ttBegin, ttEnd]) and InStatements(pt) then if (pt.TokenType in [ttBegin, ttEnd]) and InStatements(pt) then
begin begin
// filter out the begin/end that starts and ends a procedure if not IsEndOfFinallyOrExceptBlock(pt) then
if not pt.HasParentNode(nBlock, 2) then
begin begin
Result := Result + FormattingSettings.Indent.IndentBeginEndSpaces; // filter out the begin/end that starts and ends a procedure
if not pt.HasParentNode(nBlock, 2) then
begin
Result := Result + FormattingSettings.Indent.IndentBeginEndSpaces;
end;
end;
end;
end;
if FormattingSettings.Indent.IndentExtraTryBlockKeyWords then
begin
if ((pt.TokenType in [ttTry, ttExcept, ttFinally]) or IsEndOfFinallyOrExceptBlock(pt)) and InStatements(pt) then
begin
if not ((pt.TokenType=ttEnd) and FormattingSettings.Indent.IndentEndTryBlockAsCode) then
begin
// filter out the begin/end that starts and ends a procedure
if not pt.HasParentNode(nBlock, 2) then
begin
Result := Result + FormattingSettings.Indent.IndentExtraTryBlockKeyWordsSpaces;
end;
end; end;
end; end;
end; end;

View File

@ -56,6 +56,10 @@ type
fbIndentVarAndConstInClass: Boolean; fbIndentVarAndConstInClass: Boolean;
fbIndentInterfaceGuid: boolean; fbIndentInterfaceGuid: boolean;
fbIndentLabels:TIndentLabels; fbIndentLabels:TIndentLabels;
fbIndentExtraTryBlockKeyWords:boolean;
fiIndentExtraTryBlockKeyWordsSpaces:integer;
fbIndentEndTryBlockAsCode:boolean;
fbIndentExtraOrphanTryBlocks:boolean;
protected protected
public public
constructor Create; constructor Create;
@ -94,6 +98,10 @@ type
property IndentNestedTypes: Boolean read fbIndentNestedTypes write fbIndentNestedTypes; property IndentNestedTypes: Boolean read fbIndentNestedTypes write fbIndentNestedTypes;
property IndentVarAndConstInClass: Boolean read fbIndentVarAndConstInClass write fbIndentVarAndConstInClass; property IndentVarAndConstInClass: Boolean read fbIndentVarAndConstInClass write fbIndentVarAndConstInClass;
property IndentLabels:TIndentLabels read fbIndentLabels write fbIndentLabels; property IndentLabels:TIndentLabels read fbIndentLabels write fbIndentLabels;
property IndentExtraTryBlockKeyWords:boolean read fbIndentExtraTryBlockKeyWords write fbIndentExtraTryBlockKeyWords;
property IndentExtraTryBlockKeyWordsSpaces:integer read fiIndentExtraTryBlockKeyWordsSpaces write fiIndentExtraTryBlockKeyWordsSpaces;
property IndentEndTryBlockAsCode:boolean read fbIndentEndTryBlockAsCode write fbIndentEndTryBlockAsCode;
property IndentExtraOrphanTryBlocks:boolean read fbIndentExtraOrphanTryBlocks write fbIndentExtraOrphanTryBlocks;
end; end;
implementation implementation
@ -122,6 +130,10 @@ const
REG_INDENT_NESTED_TYPES = 'IndentNestedTypes'; REG_INDENT_NESTED_TYPES = 'IndentNestedTypes';
REG_INDENT_INTERFACE_GUID = 'IndentInterfaceGuid'; REG_INDENT_INTERFACE_GUID = 'IndentInterfaceGuid';
REG_INDENT_LABELS = 'IndentLabels'; REG_INDENT_LABELS = 'IndentLabels';
REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS = 'IndentExtraTryBlockKeyWords';
REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS_SPACES = 'IndentExtraTryBlockKeyWordsSpaces';
REG_INDENT_END_TRY_BLOCK_AS_CODE = 'IndentEndTryBlockAsCode';
REG_INDENT_EXTRA_ORPHAN_TRY_BLOCKS = 'IndentExtraOrphanTryBlocks';
constructor TSetIndent.Create; constructor TSetIndent.Create;
begin begin
@ -141,6 +153,17 @@ begin
fbIndentBeginEnd := pcStream.Read(REG_INDENT_BEGIN_END, False); fbIndentBeginEnd := pcStream.Read(REG_INDENT_BEGIN_END, False);
fiIndentBeginEndSpaces := pcStream.Read(REG_INDENT_BEGIN_END_SPACES, 1); fiIndentBeginEndSpaces := pcStream.Read(REG_INDENT_BEGIN_END_SPACES, 1);
if pcStream.HasTag(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS) then
begin
fbIndentExtraTryBlockKeyWords := pcStream.Read(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS, False);
fiIndentExtraTryBlockKeyWordsSpaces :=pcStream.Read(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS_SPACES, 1);
end
else
begin
fbIndentExtraTryBlockKeyWords := pcStream.Read(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS, fbIndentBeginEnd);
fiIndentExtraTryBlockKeyWordsSpaces := pcStream.Read(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS_SPACES, fiIndentBeginEndSpaces);
end;
fbIndentLibraryProcs := pcStream.Read(REG_INDENT_LIBRARY_PROCS, True); fbIndentLibraryProcs := pcStream.Read(REG_INDENT_LIBRARY_PROCS, True);
fbIndentProcedureBody := pcStream.Read(REG_INDENT_PROCEDURE_BODY, False); fbIndentProcedureBody := pcStream.Read(REG_INDENT_PROCEDURE_BODY, False);
@ -161,6 +184,8 @@ begin
fbIndentVarAndConstInClass := pcStream.Read(REG_INDENT_VAR_AND_CONST_IN_CLASS, False); fbIndentVarAndConstInClass := pcStream.Read(REG_INDENT_VAR_AND_CONST_IN_CLASS, False);
fbIndentInterfaceGuid := pcStream.Read(REG_INDENT_INTERFACE_GUID, True); fbIndentInterfaceGuid := pcStream.Read(REG_INDENT_INTERFACE_GUID, True);
fbIndentLabels := TIndentLabels(pcStream.Read(REG_INDENT_LABELS,Ord(eLabelIndentStatement))); fbIndentLabels := TIndentLabels(pcStream.Read(REG_INDENT_LABELS,Ord(eLabelIndentStatement)));
fbIndentEndTryBlockAsCode := pcStream.Read(REG_INDENT_END_TRY_BLOCK_AS_CODE, False);
fbIndentExtraOrphanTryBlocks := pcStream.Read(REG_INDENT_EXTRA_ORPHAN_TRY_BLOCKS, False);
end; end;
procedure TSetIndent.WriteToStream(const pcOut: TSettingsOutput); procedure TSetIndent.WriteToStream(const pcOut: TSettingsOutput);
@ -173,7 +198,9 @@ begin
pcOut.Write(REG_HAS_FIRST_LEVEL_INDENT, fbHasFirstLevelIndent); pcOut.Write(REG_HAS_FIRST_LEVEL_INDENT, fbHasFirstLevelIndent);
pcOut.Write(REG_INDENT_BEGIN_END, fbIndentBeginEnd); pcOut.Write(REG_INDENT_BEGIN_END, fbIndentBeginEnd);
pcOut.Write(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS, fbIndentExtraTryBlockKeyWords);
pcOut.Write(REG_INDENT_BEGIN_END_SPACES, fiIndentBeginEndSpaces); pcOut.Write(REG_INDENT_BEGIN_END_SPACES, fiIndentBeginEndSpaces);
pcOut.Write(REG_INDENT_EXTRA_TRY_BLOCK_KEYWORDS_SPACES, fiIndentExtraTryBlockKeyWordsSpaces);
pcOut.Write(REG_INDENT_LIBRARY_PROCS, fbIndentLibraryProcs); pcOut.Write(REG_INDENT_LIBRARY_PROCS, fbIndentLibraryProcs);
pcOut.Write(REG_INDENT_PROCEDURE_BODY, fbIndentProcedureBody); pcOut.Write(REG_INDENT_PROCEDURE_BODY, fbIndentProcedureBody);
@ -191,6 +218,8 @@ begin
pcOut.Write(REG_INDENT_VAR_AND_CONST_IN_CLASS, fbIndentVarAndConstInClass); pcOut.Write(REG_INDENT_VAR_AND_CONST_IN_CLASS, fbIndentVarAndConstInClass);
pcOut.Write(REG_INDENT_INTERFACE_GUID, fbIndentInterfaceGuid); pcOut.Write(REG_INDENT_INTERFACE_GUID, fbIndentInterfaceGuid);
pcOut.Write(REG_INDENT_LABELS, Ord(fbIndentLabels)); pcOut.Write(REG_INDENT_LABELS, Ord(fbIndentLabels));
pcOut.Write(REG_INDENT_END_TRY_BLOCK_AS_CODE, fbIndentEndTryBlockAsCode);
pcOut.Write(REG_INDENT_EXTRA_ORPHAN_TRY_BLOCKS, fbIndentExtraOrphanTryBlocks);
end; end;
function TSetIndent.SpacesForIndentLevel(const piLevel: integer): integer; function TSetIndent.SpacesForIndentLevel(const piLevel: integer): integer;

View File

@ -24,7 +24,9 @@
<FirstLevelIndent> 0 </FirstLevelIndent> <FirstLevelIndent> 0 </FirstLevelIndent>
<HasFirstLevelIndent> False </HasFirstLevelIndent> <HasFirstLevelIndent> False </HasFirstLevelIndent>
<IndentBeginEnd> False </IndentBeginEnd> <IndentBeginEnd> False </IndentBeginEnd>
<IndentExtraTryBlockKeyWords> False </IndentExtraTryBlockKeyWords>
<IndentbeginEndSpaces> 2 </IndentbeginEndSpaces> <IndentbeginEndSpaces> 2 </IndentbeginEndSpaces>
<IndentExtraTryBlockKeyWordsSpaces> 2 </IndentExtraTryBlockKeyWordsSpaces>
<IndentLibraryProcs> True </IndentLibraryProcs> <IndentLibraryProcs> True </IndentLibraryProcs>
<IndentProcedureBody> False </IndentProcedureBody> <IndentProcedureBody> False </IndentProcedureBody>
<KeepCommentsWithCodeInGlobals> True </KeepCommentsWithCodeInGlobals> <KeepCommentsWithCodeInGlobals> True </KeepCommentsWithCodeInGlobals>
@ -38,6 +40,8 @@
<IndentVarAndConstInClass> True </IndentVarAndConstInClass> <IndentVarAndConstInClass> True </IndentVarAndConstInClass>
<IndentInterfaceGuid> True </IndentInterfaceGuid> <IndentInterfaceGuid> True </IndentInterfaceGuid>
<IndentLabels> 0 </IndentLabels> <IndentLabels> 0 </IndentLabels>
<IndentEndTryBlockAsCode> False </IndentEndTryBlockAsCode>
<IndentExtraOrphanTryBlocks> False </IndentExtraOrphanTryBlocks>
</Indent> </Indent>
<Spaces> <Spaces>
<TabsToSpaces> True </TabsToSpaces> <TabsToSpaces> True </TabsToSpaces>

View File

@ -1,9 +1,9 @@
object fClarifyIndent: TfClarifyIndent object fClarifyIndent: TfClarifyIndent
Left = 0 Left = 0
Height = 458 Height = 539
Top = 0 Top = 0
Width = 430 Width = 430
ClientHeight = 458 ClientHeight = 539
ClientWidth = 430 ClientWidth = 430
TabOrder = 0 TabOrder = 0
DesignLeft = 737 DesignLeft = 737
@ -41,13 +41,13 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 417 Height = 498
Top = 35 Top = 35
Width = 418 Width = 418
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Options' Caption = 'Options'
ClientHeight = 397 ClientHeight = 478
ClientWidth = 414 ClientWidth = 414
TabOrder = 1 TabOrder = 1
object cbIndentBeginEnd: TCheckBox object cbIndentBeginEnd: TCheckBox
@ -85,27 +85,27 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 19 Height = 19
Top = 37 Top = 66
Width = 169 Width = 169
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Different indent for first level' Caption = 'Different indent for first level'
TabOrder = 2 TabOrder = 4
OnClick = cbHasFirstLevelIndentClick OnClick = cbHasFirstLevelIndentClick
end end
object eFirstLevelIndent: TSpinEdit object eFirstLevelIndent: TSpinEdit
AnchorSideTop.Control = eIndentBeginEndSpaces AnchorSideTop.Control = eIndentTryFinallyExceptSpaces
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbOptions AnchorSideRight.Control = gbOptions
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 344 Left = 344
Height = 23 Height = 23
Top = 35 Top = 64
Width = 50 Width = 50
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 20 BorderSpacing.Right = 20
TabOrder = 3 TabOrder = 5
end end
object cbKeepWithInProc: TCheckBox object cbKeepWithInProc: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -113,14 +113,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 62 Top = 91
Width = 292 Width = 292
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Keep single-line comments with code in procedures' Caption = 'Keep single-line comments with code in procedures'
TabOrder = 4 TabOrder = 6
end end
object cbKeepWithInGlobals: TCheckBox object cbKeepWithInGlobals: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -128,14 +128,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 87 Top = 116
Width = 271 Width = 271
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Keep single-line comments with code in globals' Caption = 'Keep single-line comments with code in globals'
TabOrder = 5 TabOrder = 7
end end
object cbKeepWithInClassDef: TCheckBox object cbKeepWithInClassDef: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -143,14 +143,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 112 Top = 141
Width = 317 Width = 317
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Keep single-line comments with code in class definitions' Caption = 'Keep single-line comments with code in class definitions'
TabOrder = 6 TabOrder = 8
end end
object cbKeepWithElsewhere: TCheckBox object cbKeepWithElsewhere: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -158,14 +158,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 137 Top = 166
Width = 272 Width = 272
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Keep single-line comments with code elsewhere' Caption = 'Keep single-line comments with code elsewhere'
TabOrder = 7 TabOrder = 9
end end
object cbIndentIfElse: TCheckBox object cbIndentIfElse: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -173,14 +173,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 162 Top = 191
Width = 174 Width = 174
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Extra Indent for If...Else blocks' Caption = 'Extra Indent for If...Else blocks'
TabOrder = 8 TabOrder = 10
end end
object cbIndentCaseElse: TCheckBox object cbIndentCaseElse: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -188,14 +188,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 212 Top = 241
Width = 192 Width = 192
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Extra Indent for Case...Else blocks' Caption = 'Extra Indent for Case...Else blocks'
TabOrder = 10 TabOrder = 12
end end
object cbIndentLibraryProcs: TCheckBox object cbIndentLibraryProcs: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -203,14 +203,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 237 Top = 266
Width = 181 Width = 181
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Indent for procedures in library' Caption = 'Indent for procedures in library'
TabOrder = 11 TabOrder = 13
end end
object cbIndentProcedureBody: TCheckBox object cbIndentProcedureBody: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -218,14 +218,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 262 Top = 291
Width = 157 Width = 157
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Indent for procedure body' Caption = 'Indent for procedure body'
TabOrder = 12 TabOrder = 14
end end
object cbIndentNestedTypes: TCheckBox object cbIndentNestedTypes: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -233,14 +233,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 287 Top = 316
Width = 121 Width = 121
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Indent nested types' Caption = 'Indent nested types'
TabOrder = 13 TabOrder = 15
end end
object cbIndentVarAndConstInClass: TCheckBox object cbIndentVarAndConstInClass: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -248,14 +248,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 312 Top = 341
Width = 167 Width = 167
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Indent var and const in class' Caption = 'Indent var and const in class'
TabOrder = 14 TabOrder = 16
end end
object cbIndentCaseLabels: TCheckBox object cbIndentCaseLabels: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -263,14 +263,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 187 Top = 216
Width = 157 Width = 157
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Extra Indent for case labels' Caption = 'Extra Indent for case labels'
TabOrder = 9 TabOrder = 11
end end
object cbIndentInterfaceGuid: TCheckBox object cbIndentInterfaceGuid: TCheckBox
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -278,14 +278,14 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 19 Height = 19
Top = 337 Top = 366
Width = 174 Width = 174
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Extra Indent for interface guid' Caption = 'Extra Indent for interface guid'
TabOrder = 15 TabOrder = 17
end end
object lbIndentLabels: TLabel object lbIndentLabels: TLabel
AnchorSideLeft.Control = gbOptions AnchorSideLeft.Control = gbOptions
@ -293,7 +293,7 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 15 Height = 15
Top = 368 Top = 397
Width = 67 Width = 67
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 12 BorderSpacing.Top = 12
@ -306,13 +306,73 @@ object fClarifyIndent: TfClarifyIndent
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 79 Left = 79
Height = 23 Height = 23
Top = 364 Top = 393
Width = 257 Width = 257
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 15 ItemHeight = 15
Style = csDropDownList Style = csDropDownList
TabOrder = 16 TabOrder = 18
end
object eIndentTryFinallyExceptSpaces: TSpinEdit
AnchorSideTop.Control = eIndentBeginEndSpaces
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbOptions
AnchorSideRight.Side = asrBottom
Left = 344
Height = 23
Top = 35
Width = 50
Anchors = [akTop, akRight]
BorderSpacing.Top = 6
BorderSpacing.Right = 20
MaxValue = 10
MinValue = -10
TabOrder = 3
end
object cbIndentExtraTryBlockKeywords: TCheckBox
AnchorSideLeft.Control = gbOptions
AnchorSideTop.Control = eIndentTryFinallyExceptSpaces
AnchorSideTop.Side = asrCenter
Left = 6
Height = 19
Top = 37
Width = 191
BorderSpacing.Left = 6
BorderSpacing.Bottom = 6
Caption = 'Extra indent for try/finally/except'
TabOrder = 2
OnClick = cbIndentExtraTryBlockKeywordsClick
end
object cbIndentEndTryBlockAsCode: TCheckBox
AnchorSideLeft.Control = gbOptions
AnchorSideTop.Control = cbIndentLabels
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 422
Width = 167
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
BorderSpacing.Bottom = 6
Caption = 'Indent end try block as code'
TabOrder = 19
end
object cbIndentExtraOrphanTryBlocks: TCheckBox
AnchorSideLeft.Control = gbOptions
AnchorSideTop.Control = cbIndentEndTryBlockAsCode
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 447
Width = 193
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
BorderSpacing.Bottom = 6
Caption = 'Extra indent for orphan try blocks'
TabOrder = 20
end end
end end
end end

View File

@ -38,9 +38,13 @@ type
{ TfClarifyIndent } { TfClarifyIndent }
TfClarifyIndent = class(TAbstractIDEOptionsEditor) TfClarifyIndent = class(TAbstractIDEOptionsEditor)
cbIndentEndTryBlockAsCode: TCheckBox;
cbIndentExtraOrphanTryBlocks: TCheckBox;
cbIndentExtraTryBlockKeywords: TCheckBox;
cbIndentCaseLabels: TCheckBox; cbIndentCaseLabels: TCheckBox;
cbIndentInterfaceGuid: TCheckBox; cbIndentInterfaceGuid: TCheckBox;
cbIndentLabels: TComboBox; cbIndentLabels: TComboBox;
eIndentTryFinallyExceptSpaces: TSpinEdit;
Label2: TLabel; Label2: TLabel;
edtIndentSpaces: TSpinEdit; edtIndentSpaces: TSpinEdit;
gbOptions: TGroupBox; gbOptions: TGroupBox;
@ -61,6 +65,7 @@ type
lbIndentLabels: TLabel; lbIndentLabels: TLabel;
procedure cbIndentBeginEndClick(Sender: TObject); procedure cbIndentBeginEndClick(Sender: TObject);
procedure cbHasFirstLevelIndentClick(Sender: TObject); procedure cbHasFirstLevelIndentClick(Sender: TObject);
procedure cbIndentExtraTryBlockKeywordsClick(Sender: TObject);
public public
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
@ -119,6 +124,10 @@ begin
cbIndentLabels.Items.Add(lisIndentLabelsIndentPrevLevel);; cbIndentLabels.Items.Add(lisIndentLabelsIndentPrevLevel);;
cbIndentLabels.Items.Add(lisIndentLabelslIndentToProcedure); cbIndentLabels.Items.Add(lisIndentLabelslIndentToProcedure);
cbIndentLabels.Items.Add(lisIndentLabelsIndentX0); cbIndentLabels.Items.Add(lisIndentLabelsIndentX0);
cbIndentExtraTryBlockKeywords.Caption := lisIndentTryFinallyExcept;
cbIndentEndTryBlockAsCode.Caption := lisIndentEndTryBlockAsCode;
cbIndentExtraOrphanTryBlocks.Caption := lisIndentExtraOrphanTryBlocks;
end; end;
{------------------------------------------------------------------------------- {-------------------------------------------------------------------------------
@ -150,6 +159,12 @@ begin
cbIndentVarAndConstInClass.Checked := IndentVarAndConstInClass; cbIndentVarAndConstInClass.Checked := IndentVarAndConstInClass;
cbIndentInterfaceGuid.Checked := IndentInterfaceGuid; cbIndentInterfaceGuid.Checked := IndentInterfaceGuid;
cbIndentLabels.ItemIndex := Ord(IndentLabels); cbIndentLabels.ItemIndex := Ord(IndentLabels);
cbIndentExtraTryBlockKeywords.Checked := IndentExtraTryBlockKeyWords;
eIndentTryFinallyExceptSpaces.Value := IndentExtraTryBlockKeyWordsSpaces;
eIndentTryFinallyExceptSpaces.Enabled := IndentExtraTryBlockKeyWords;
cbIndentEndTryBlockAsCode.Checked := IndentEndTryBlockAsCode;
cbIndentExtraOrphanTryBlocks.Checked := IndentExtraOrphanTryBlocks;
end; end;
cbIndentBeginEndClick(nil); cbIndentBeginEndClick(nil);
@ -183,6 +198,12 @@ begin
IndentVarAndConstInClass := cbIndentVarAndConstInClass.Checked; IndentVarAndConstInClass := cbIndentVarAndConstInClass.Checked;
IndentInterfaceGuid := cbIndentInterfaceGuid.Checked; IndentInterfaceGuid := cbIndentInterfaceGuid.Checked;
IndentLabels := TIndentLabels(cbIndentLabels.ItemIndex); IndentLabels := TIndentLabels(cbIndentLabels.ItemIndex);
IndentExtraTryBlockKeyWords := cbIndentExtraTryBlockKeywords.Checked;
IndentExtraTryBlockKeyWordsSpaces := eIndentTryFinallyExceptSpaces.Value;
IndentEndTryBlockAsCode := cbIndentEndTryBlockAsCode.Checked;
IndentExtraOrphanTryBlocks := cbIndentExtraOrphanTryBlocks.Checked;
end; end;
end; end;
@ -204,6 +225,11 @@ begin
eFirstLevelIndent.Enabled := cbHasFirstLevelIndent.Checked; eFirstLevelIndent.Enabled := cbHasFirstLevelIndent.Checked;
end; end;
procedure TfClarifyIndent.cbIndentExtraTryBlockKeywordsClick(Sender: TObject);
begin
eIndentTryFinallyExceptSpaces.Enabled := cbIndentExtraTryBlockKeywords.Checked;
end;
initialization initialization
RegisterIDEOptionsEditor(JCFOptionsGroup, TfClarifyIndent, JCFOptionIndentation, JCFOptionClarify); RegisterIDEOptionsEditor(JCFOptionsGroup, TfClarifyIndent, JCFOptionIndentation, JCFOptionClarify);
end. end.