Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2003-07

Patch: Findinfiles

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mattias Gaertner
to Bob Wingard: Attached is a patch file that starts the implementation of the find in files function on…
Mattias, Attached is a patch file that starts the implementation of the find in files function on the search menu.

Great.

I want to make sure that the direction that I am headed is ok with you.

I will have a look today ...

Mattias

Show quoted text 34 lines
I added a procedure and a function to the ideprocs.pp file. These might be better placed in the fileprocs.pp file, you decide. My plan is to use the messages window to display the results of the file search. Currently I have implemented the find in directories selection on the find in files dialog. The results are formatted in a similar fashion to the compiler messages so the DoJumpToCompilerMessage function treats the result like a compiler message. I am using None: as the error type, we may want to add a Search: message type to the GetSourcePosition function as this is the real message type. The search function currently supports WholeWords and Case Sensitivity but not Regular Expressions. I will add the Regular Expression search when I understand the TRegExpr object better.The search only returns the first occurence of the search term, once the source file has been loaded the find next (F3) will continue the search with in the current file. I have not made changes to the FindInFiles Dialog so you will need to type information in each of the Edit and Combo boxes to test. Additional thoughts. Change the FindInFiles.TextToFindEdit component to a combo box and share the same history file as the FindDialog. Oh yea, there is a hard coded '/' in TSourceNotebook.FindInFilesClicked. I have not figure out where the File Delimiter constant is declared! So this currently only works on Linux. I could put and ifdef in, but I am sure that this constant is declared some where I just have not found it yet. Bob

Reply by email

Bob Wingard

Mattias,

Attached is a patch file that starts the implementation of the find in files function on the search menu. I want to make sure that the direction that I am headed is ok with you.

I added a procedure and a function to the ideprocs.pp file. These might be better placed in the fileprocs.pp file, you decide.

My plan is to use the messages window to display the results of the file search. Currently I have implemented the find in directories selection on the find in files dialog. The results are formatted in a similar fashion to the compiler messages so the DoJumpToCompilerMessage function treats the result like a compiler message. I am using None: as the error type, we may want to add a Search: message type to the GetSourcePosition function as this is the real message type.

The search function currently supports WholeWords and Case Sensitivity but not Regular Expressions. I will add the Regular Expression search when I understand the TRegExpr object better.The search only returns the first occurence of the search term, once the source file has been loaded the find next (F3) will continue the search with in the current file.

I have not made changes to the FindInFiles Dialog so you will need to type information in each of the Edit and Combo boxes to test.

Additional thoughts.

Change the FindInFiles.TextToFindEdit component to a combo box and share the same history file as the FindDialog.

Oh yea, there is a hard coded '/' in TSourceNotebook.FindInFilesClicked. I have not figure out where the File Delimiter constant is declared! So this currently only works on Linux. I could put and ifdef in, but I am sure that this constant is declared some where I just have not found it yet.

Bob

-------------- next part --------------
A non-text attachment was scrubbed...
Name: zip00016.zip
Type: application/octet-stream
Size: 3489 bytes
Desc: "findinfiles.zip"
Url : http://localhost/pipermail/lazarus/attachments/20030727/bf834027/zip00016.obj

Reply by email