Releases: Tooark/vscode-ark-format
Releases · Tooark/vscode-ark-format
Release list
shell1.0.13
Release shell1.0.13
Alterações desta versão
- Versão do pacote atualizada de
1.0.12para1.0.13. - Correção: as regras de espaçamento do motor interno eram aplicadas ao trecho de código da linha inteiro, e esse trecho incluía o comentário (
#) até o fim da linha. Consequências:collapseSpacesremovia os espaços de alinhamento em colunas dentro de comentários — por exemplo, blocosUsage:/Env:de cabeçalhos de script perdiam a tabulação visual (# scripts/check.sh --all everything abovevirava# scripts/check.sh --all everything above).- As regras de palavras-chave e de função alteravam código citado em comentários:
for(→for (,if[→if [,;then→; then,name(){→name() {.
- O texto do comentário passa a ser preservado literalmente. O comportamento restante não muda:
- As regras continuam sendo aplicadas ao código que precede o comentário (
if[ x ];then # nota→if [ x ]; then # nota). - O espaço entre o código e o
#de um comentário inline continua sendo colapsado (echo ok # nota→echo ok # nota). - O espaço após o marcador continua sendo normalizado (
#texto→# texto), sem tocar no restante do comentário. - Shebang,
${#var}e${var##padrão}continuam sendo reconhecidos como não-comentário.
- As regras continuam sendo aplicadas ao código que precede o comentário (
- Testes: novos casos de regressão em
applyShellSpacing(alinhamento em comentário de linha inteira e inline, código citado em comentário, regras ainda aplicadas ao código antes do#, espaço do marcador) e um caso de documento com cabeçalhoUsage:/Env:verificado como ponto fixo do formatador. - O engine
shfmtnão é afetado. Sem novas opções de configuração.
Informações Adicionais
- Tag relacionada:
shell1.0.13 - Data de lançamento: 2026-09-13
powershell1.2.3
Release powershell1.2.3
Alterações desta versão
- Versão do pacote atualizada de
1.2.2para1.2.3. - Correção: as regras de espaçamento eram aplicadas ao trecho de código da linha inteiro, e esse trecho incluía o comentário de linha (
#) até o fim da linha. Consequências:collapseSpacesremovia os espaços de alinhamento em colunas dentro de comentários — por exemplo, blocosUso:/Env:de cabeçalhos de script perdiam a tabulação visual (# ./build.ps1 -Target Test executa apenas os testesvirava# ./build.ps1 -Target Test executa apenas os testes).- A regra de espaço antes da chave de abertura alterava código citado em comentários:
function Test{→function Test {,if ($x){→if ($x) {.
- O texto do comentário passa a ser preservado literalmente. O comportamento restante não muda:
- As regras continuam sendo aplicadas ao código que precede o comentário (
if ($x){ # nota→if ($x) { # nota). - O espaço entre o código e o
#de um comentário inline continua sendo colapsado ($x = 1 # nota→$x = 1 # nota). - O espaço após o marcador continua sendo normalizado (
#texto→# texto), sem tocar no restante do comentário;#>segue preservado. #escapado por crase (`#) e shebang continuam sendo reconhecidos como não-comentário.
- As regras continuam sendo aplicadas ao código que precede o comentário (
- Comentários em bloco (
<# ... #>) já não passavam por essas regras e continuam regidos exclusivamente porformatBlockComments. - Testes: novos casos de regressão em
applyPowerShellSpacing(alinhamento em comentário de linha inteira e inline, código citado em comentário, regras ainda aplicadas ao código antes do#, espaço do marcador,#escapado por crase) e um caso de documento com cabeçalhoUso:/Env:verificado como ponto fixo do formatador. - Sem novas opções de configuração. Mesma correção aplicada ao formatador de Shell na versão
1.0.13.
Informações Adicionais
- Tag relacionada:
powershell1.2.3 - Data de lançamento: 2026-09-13
powershell1.2.2
Release powershell1.2.2
Alterações desta versão
- Versão do pacote atualizada de
1.2.1para1.2.2. - Correção: here-strings (
@' ... '@e@" ... "@) declaradas indentadas (por exemplo, dentro de um blocoif,functionoutry) deixavam de ser preservadas: o formatador aplicava a indentação do bloco a todas as linhas do corpo e também ao terminador ('@/"@). Como o PowerShell exige que o terminador da here-string fique na coluna 0, o script resultante ficava inválido e o conteúdo literal (por exemplo, código C# passado aAdd-Type -TypeDefinition) era corrompido. - Here-strings agora são tratadas pelo mecanismo de heredoc e preservadas verbatim: o corpo é mantido byte a byte e o terminador permanece na coluna 0, independentemente do nível de indentação da linha de abertura.
- A correção é específica do PowerShell: o comportamento do formatador de Shell (que reindenta, de propósito, conteúdo de strings multilinha como filtros
jq/comandosaws) permanece inalterado. - Detecção de here-string reescrita sobre
getQuoteModeAfterLine(fonte única de verdade), reconhecendo corretamente as aberturas@'/@"que antes escapavam à detecção. - Testes: novos casos de regressão para here-string indentada (
@'e@") com verificação de conteúdo verbatim, terminador na coluna 0 e idempotência; suítes deshared,powershelleshellvalidadas. - Sem novas opções de configuração e sem mudança de comportamento nos demais construtos.
Informações Adicionais
- Tag relacionada:
powershell1.2.2 - Data de lançamento: 2026-07-20
shell1.0.12
Release shell1.0.12
Alterações desta versão
- Bump de versão do pacote
ark-format-shell:1.0.11->1.0.12. - Campo
sponsoradicionado ao manifesto da extensão, habilitando o botão de apoio (GitHub Sponsors) na página do Marketplace. - GIFs de demonstração do README regenerados (
shell-settings.gifeshell-using.gif) com capturas atualizadas e maior qualidade. - Sem alterações funcionais no motor de formatação.
Informações Adicionais
- Tag relacionada:
shell1.0.12 - Data de lançamento: 2026-07-06
shell1.0.11
Release shell1.0.11
Alterações desta versão
- Bump de versão do pacote
ark-format-shell:1.0.10->1.0.11. - Correções na formatação de seleção (range formatting):
- Strings multilinha passam a ser rastreadas como no formatador de documento: o conteúdo literal é preservado sem reprocessamento (sem colapso de espaços nem reindentação) e palavras-chave dentro de strings (ex.:
do,then) não alteram mais a indentação das linhas seguintes. - Heredocs preservados também no modo sem reindentação (
rangeFormatting.reindentdesligado); antes o corpo do heredoc sofria colapso de espaços ao formatar a seleção. - As decisões de indentação passam a usar apenas as partes de código da linha (fora de aspas), alinhando o comportamento da seleção ao do documento completo.
- Strings multilinha passam a ser rastreadas como no formatador de documento: o conteúdo literal é preservado sem reprocessamento (sem colapso de espaços nem reindentação) e palavras-chave dentro de strings (ex.:
- Correção no cálculo do nível base de contexto (
rangeFormatting.useDocumentContext): palavras-chave dentro de strings nas linhas anteriores à seleção não inflam mais o nível base de indentação. - Refatoração interna sem mudança de comportamento:
- Helpers de edição (
buildFullDocumentEdits/buildRangeEdits) e de espaçamento (collapseDoubleSpaces/normalizeCommentSpacing) promovidos ao pacote compartilhado@tooark/ark-format-shared. - Remoção de código sem uso no pacote compartilhado e nos re-exports internos da extensão.
- Helpers de edição (
- Novos testes:
- Regressões da formatação de seleção com strings multilinha e heredocs.
- Testes da camada de extensão: ativação, providers de documento/intervalo, engine
shfmt(sucesso, texto idêntico e erro de sintaxe convertido em diagnóstico) e a proteção de segurança que ignorashfmt.path/shfmt.flagsdefinidos em escopos de workspace.
- Seção de apoio (Support) adicionada aos READMEs (EN/PT-BR).
- Cobertura de testes consolidada do monorepo disponível via
pnpm test:coverage.
Informações Adicionais
- Tag relacionada:
shell1.0.11 - Data de lançamento: 2026-07-05
powershell1.2.1
Release powershell1.2.1
Alterações desta versão
- Bump de versão do pacote
ark-format-powershell:1.2.0->1.2.1. - Campo
sponsoradicionado ao manifesto da extensão, habilitando o botão de apoio (GitHub Sponsors) na página do Marketplace. - GIFs de demonstração do README regenerados (
powershell-settings.gifepowershell-using.gif) com capturas atualizadas e maior qualidade. - Sem alterações funcionais no motor de formatação.
Informações Adicionais
- Tag relacionada:
powershell1.2.1 - Data de lançamento: 2026-07-06
powershell1.2.0
Release powershell1.2.0
Alterações desta versão
- Bump de versão do pacote
ark-format-powershell:1.1.0->1.2.0. - Nova opção
arkFormatPowerShell.alignAssignments(padrãofalse, opt-in):- Alinha verticalmente os operadores de atribuição (
=,+=,-=,*=,/=,%=,??=) em blocos contíguos de atribuições de variáveis ($var = ...) e entradas de hashtable (Chave = valor), no espírito da regraPSAlignAssignmentStatementdo PSScriptAnalyzer. - Alinhamento pelo caractere
=final do operador, calculado por linha: o nome mais longo do bloco fica com exatamente um espaço antes do seu operador. - Blocos encerram em linha em branco, comentário ou outra instrução; atribuições em níveis de indentação diferentes alinham separadamente; nomes acima de 40 caracteres ficam fora do alinhamento.
- Conteúdo de here-strings e blocos de comentário (
<# ... #>) nunca é alterado; continuações com crase (`) ou pipe (|) pertencem à atribuição anterior e não quebram o bloco. - Compatível com todos os fins de linha (
LF,CRLFeAuto), preservando o fim de linha configurado. - Padrão desligado por decisão de design: alinhamento vertical gera ruído de diff (adicionar um nome mais longo reformata as linhas vizinhas). Com a opção desligada, o
collapseSpacesnormaliza alinhamentos existentes para um espaço.
- Alinha verticalmente os operadores de atribuição (
- Correção de indentação: cláusulas
else/elseif/catch/finallyem linha própria (após um}isolado) não são mais dedentadas duas vezes; passam a alinhar no mesmo nível do bloco anterior, como já acontecia no estilo} catch {. - Correção de indentação: conteúdo de parênteses multilinha (
@(...),$(...),(...)de chamadas com argumentos quebrados e blocosparam (...)) passa a receber um nível de indentação, com o)de fechamento alinhado à linha que abriu; aninhamentos (array em hashtable, hashtable em array) acumulam níveis corretamente. Arrays em linha única e conteúdo de here-strings permanecem intocados; parênteses dentro de strings e comentários não contam para o balanceamento. - Limpeza de localização: remoção da chave não utilizada
ark.incompatible.flagdos bundles l10n (EN e pt-BR); ela pertence ao cenário do shfmt e só é consumida pelo formatador de Shell. - Motor de alinhamento em blocos promovido ao pacote compartilhado (
@tooark/ark-format-shared/align), com parser injetado por linguagem; o formatador de Makefile foi refatorado para consumir o mesmo motor, sem mudança de comportamento. - Aplicado na formatação de documento e de seleção (range formatting).
- Refatoração interna sem mudança de comportamento:
- Helpers de edição (
buildFullDocumentEdits/buildRangeEdits) e de espaçamento (collapseDoubleSpaces/normalizeCommentSpacing) promovidos ao pacote compartilhado@tooark/ark-format-shared. - Remoção de código sem uso (coleção de diagnósticos inerte e re-exports órfãos) e guards do provider de intervalo alinhados ao padrão das demais extensões.
- Helpers de edição (
- Novos testes da camada de extensão: ativação, providers de documento/intervalo (padrão
CRLF), reindentação de seleção com contexto e here-strings ignoradas no cálculo do contexto. - Seção de apoio (Support) adicionada aos READMEs (EN/PT-BR).
- Cobertura de testes consolidada do monorepo disponível via
pnpm test:coverage.
Informações Adicionais
- Tag relacionada:
powershell1.2.0 - Data de lançamento: 2026-07-05
pack1.1.1
Release pack1.1.1
Alterações desta versão
- Bump de versão do pacote
ark-format:1.1.0->1.1.1. - Campo
sponsoradicionado ao manifesto da extensão, habilitando o botão de apoio (GitHub Sponsors) na página do Marketplace. - Alinhamento do extension pack com a rodada de atualização das extensões (
shell1.0.12,powershell1.2.1,makefile1.0.1): link de sponsor nos manifests e GIFs de demonstração regenerados. - Sem alterações funcionais no extension pack.
Informações Adicionais
- Tag relacionada:
pack1.1.1 - Data de lançamento: 2026-07-06
pack1.1.0
Release pack1.1.0
Alterações desta versão
- Bump de versão do pacote
ark-format:1.0.9->1.1.0. - Inclusão da extensão
tooark.ark-format-makefile(versão inicial1.0.0) noextensionPack:- Formatador de Makefile (
Makefile,GNUmakefile,*.mk) seguindo a estrutura das extensões Shell e PowerShell. - Invariantes de segurança: prefixo TAB de recipes preservado, blocos
define ... endefintocados e preservação integral quando.RECIPEPREFIXé redefinido.
- Formatador de Makefile (
- Atualização das keywords do pack (
makefile). - Atualização dos READMEs (EN/PT-BR) com a nova extensão incluída.
- Seção de apoio (Support) adicionada aos READMEs (EN/PT-BR).
- Sem alterações funcionais no extension pack; correções e melhorias dos formatadores são publicadas nas releases de cada extensão (
shell1.0.11,powershell1.2.0,makefile1.0.0).
Informações Adicionais
- Tag relacionada:
pack1.1.0 - Data de lançamento: 2026-07-05
makefile1.0.1
Release makefile1.0.1
Alterações desta versão
- Bump de versão do pacote
ark-format-makefile:1.0.0->1.0.1. - Campo
sponsoradicionado ao manifesto da extensão, habilitando o botão de apoio (GitHub Sponsors) na página do Marketplace. - GIFs de demonstração do README regenerados (
makefile-settings.gifemakefile-using.gif) com capturas atualizadas e maior qualidade. - Sem alterações funcionais no motor de formatação.
Informações Adicionais
- Tag relacionada:
makefile1.0.1 - Data de lançamento: 2026-07-06