Página 1 de 1

Norton TS (Text Search) substituto

Enviado: 18 Abr 2018 15:19
por fladimir
Eu uso o próprio xDev, tb resolve bem. Agradeço ter compartilhado esse outro recurso.

Norton TS (Text Search) substituto

Enviado: 18 Abr 2018 17:19
por fladimir
Apenas para informação, o xDev tb busca fora do projeto e em subpastas e em qualquer extensão, uso muito dessa forma.

Norton TS (Text Search) substituto

Enviado: 18 Abr 2018 18:56
por JoséQuintas
Programmers Notepad idem.

E se quiser usar BAT mesmo, também dá....

Não uso isto há muuuito tempo, mas ainda tenho guardado.

Código: Selecionar todos

@echo off
if "%1" == "" goto :help
for %%a in (*.prg) do find /i /n "%1" %%a >> lixo.txt
notepad lixo.txt

SEEK texto

note que: /n vai mostrar com número de linha.

No programmers notepad:
pnotepad.png

Norton TS (Text Search) substituto

Enviado: 18 Abr 2018 19:01
por JoséQuintas
Deslize a tela do link pra ver a imagem dos recursos que dá pra configurar no Programmers Notepad.

https://github.com/JoseQuintas/pnharbour

Norton TS (Text Search) substituto

Enviado: 19 Abr 2018 11:50
por JoséQuintas
No final, hoje em dia a grande maioria é baseada no Scintilla, justamente o componente que faz o visual do fonte.
Então, teoricamente, TODOS são iguais.
A diferença fica em como cada editor dispõe das configurações, ou o quanto aproveita os recursos do Scintilla.
Na prática, nem uso esses recursos todos que mostrei.

Lista de funções?
Se usar o HBMK2 pra gerar LIB, ele já faz isso.
Como minhas funções ficaram públicas na LIB JoséQuintas, a lista de funções já existe.

Esse recurso de mostrar fonte em miniatura desse editor.
Sinceramente, alguma coisa útil nisso, além de ser sujeito a causar erro?

Norton TS (Text Search) substituto

Enviado: 19 Abr 2018 12:30
por JoséQuintas
hazael escreveu:mostrar uma lista (do lado direito) de todas funções e procedures que tem dentro daquele fonte
Isso os editores fazem se utilizando de CTAGs, se não tiver detector próprio.

Código: Selecionar todos

--langdef=harbour
--langmap=harbour:.prg.ch.hbp.hbc.hbm.img
--regex-harbour=/^(PROCEDURE|STATIC PROCEDURE)[ ]*([a-zA-Z0-9_]+)/\2/p,harbour/i
--regex-harbour=/^(FUNCTION|STATIC FUNCTION) ]*([a-zA-Z0-9_]+)/\2/f,harbour/i
--regex-harbour=/^(CREATE CLASS)[ ]*([a-zA-Z0-9_]+)/\2/c,harbour/i
--regex-harbour=/^(METHOD|MESSAGE)[ ]*([a-zA-Z0-9_]+)/\2/m,harbour/i
--regex-harbour=/\b(VAR|CLASS VAR)[ ]+([a-zA-z0-9_]+)/\2/d,harbour/i
--regex-harbour=/#(define|command|translate|xcommand|xtranslate)[ ]*([a-zA-Z0-9_]+)/\2/s,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+)/\2/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\3/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\4/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\5/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\6/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\7/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\8/v,harbour/i
--regex-harbour=/\b(MEMVAR|PRIVATE|PUBLIC)[ ]+([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+), \b([a-zA-Z0-9_]+)/\9/v,harbour/i
--regex-harbour=/(Delete this including parenthesis to enabled dbf tables capture)([a-zA-Z_]+)->([a-zA-Z]+)/\1/t,harbour/
--regex-harbour=/(Delete this including parenthesis to enabled dbf fields capture)([a-zA-Z_]+->[a-zA-Z]+)/\1/u,harbour/
De um modo geral é: o que procurar, e como classificar.
ctags.png
Nem parece, mas o PN está parado há muito tempo sem atualização.
Todos os fontes estão no GitHub.
https://github.com/simonsteele/pn

Mas só tem pra Windows.
E no caso de usar ASCII, só a codepage padrão do Windows, no nosso caso PT-BR.

Norton TS (Text Search) substituto

Enviado: 19 Abr 2018 12:37
por JoséQuintas
--regex-harbour=/(Delete this including parenthesis to enabled dbf tables capture)([a-zA-Z_]+)->([a-zA-Z]+)/\1/t,harbour/
--regex-harbour=/(Delete this including parenthesis to enabled dbf fields capture)([a-zA-Z_]+->[a-zA-Z]+)/\1/u,harbour/

Essas duas seriam pra pegar arquivo->Campo
Uma pega o alias antes do -> e a outra pega o campo depois de ->
Achei que não vale a pena, que não seria suficiente, e acaba poluindo demais.

Norton TS (Text Search) substituto

Enviado: 19 Abr 2018 12:42
por JoséQuintas
Sobre a lista de funções....
Dependendo do caso, o codefolding pode ser suficiente, escondendo o fonte de funções.
Esse é um recurso mais comum.

Inclusive por isso acostumei a deixar o RETURN indentado.... rs
codefolding.png

Norton TS (Text Search) substituto

Enviado: 19 Abr 2018 12:53
por JoséQuintas
Outra forma de encontrar funções, é exatamente a que começou o tópico.
functions.png

Norton TS (Text Search) substituto

Enviado: 19 Abr 2018 12:56
por JoséQuintas
Só comentário adicional: estes últimos recursos não são exclusivos do PN, acho que todos os editores atuais tem estes recursos.