Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CLOSED] [PM] Lots of Find in Files improvements #2961

Open
9 of 11 tasks
core-ai-bot opened this issue Aug 29, 2021 · 7 comments
Open
9 of 11 tasks

[CLOSED] [PM] Lots of Find in Files improvements #2961

core-ai-bot opened this issue Aug 29, 2021 · 7 comments

Comments

@core-ai-bot
Copy link
Member

Issue by TomMalbran
Monday Mar 18, 2013 at 02:33 GMT
Originally opened as adobe/brackets#3151


So here I made the next improvements to find in files covering most of the Trello Card and some extras:

  • Both the results and the dialog now use a proper template. The dialog template was used just for the content and only in Find in Files, but it could be used for all the find templates with few modifications. (Implemented in [CLOSED] hide WorkingSetView when empty. clean up extra DOM and style rules. #3324)
  • Clicking on a table row, now selects it, making it easier to go through all the results. The only problem is that the highlight color and the selected color are the same, so if needed one would need to be changed. (Implemented in [CLOSED] hide WorkingSetView when empty. clean up extra DOM and style rules. #3324)
  • The results list now allows paging with just 2 links. I left the 100 results per page and increased to 300 the results per file, since we can now see all of them. It could still be increased, but haven't checked what would be right max. (Implemented in [CLOSED] [LiveHTML] ignore comment nodes when applying edits #4303)
  • Double clicking on a result now adds it to the working set. (Implemented in [CLOSED] [LiveHTML] ignore comment nodes when applying edits #4303)
  • The file results are now sorted having the current document always first to make it possible to select the first result in the current document, if there is one. (Implemented in [CLOSED] Fix popover message positioning #6585)
  • Searching through the files now uses DocumentManager for files in the working set, since only those could have unsaved changes and FileUtils for the rest. These should avoid creating a Document for every file creating lots of console errors as mentioned in [CLOSED] Bash language support #3146. (Not required anymore)
  • All the find methods can now search through documents outside of the project in the working set.
  • Every change done to the current document modifies the results: add or delete results and change the line numbers when needed. (Implemented in [CLOSED] Typo in czech lang #4729)
  • Added a new command to search only the files in the working set, and changed the scope functions to work with multiple files, so if we add a multiple file selection, a new search method could be easily added.
  • Added 2 new commands to select the previous/next row in the search result table. Wasn't sure of the right command for Mac, so I made one up following the key order used in the find/replace commands.
  • Moved all the search menu items with the 3 new commands and the Find in File/Subtree command to a new Search menu. This reduced the size of the Edit menu and allowed me to add new menu items.

I also experimented on moving the search to a Web Worker, since Brackets stalls for a long time when searching on big projects, like Brackets, but it couldn't access brackets.fs probably for having the same restrictions as working in a browser (could this be changed in the CEF configuration?). I tested a bit just moving the search, but wasn't able to do it yet using Transferable Objects (without those, brackets crashes and wouldn't make a good optimization). Anyway moving just the search would still stall the window during the file reading which is already a long time. A filtering system would reduce this a lot in big project without needing to use Web Workers.


TomMalbran included the following code: https://github.com/adobe/brackets/pull/3151/commits

@core-ai-bot
Copy link
Member Author

Comment by TomMalbran
Tuesday Apr 02, 2013 at 02:32 GMT


Its been a while with no comments here, but I know that this is a big request. Should I just start splitting this requests into smaller parts so it can easily be reviewed and merged. I could go step by step, make a small request, wait until is merged, start with another part until everything is covered? Might make it a lot easier since most of the changes aren't that big anyway, but look big all together.

@core-ai-bot
Copy link
Member Author

Comment by njx
Tuesday Apr 16, 2013 at 21:50 GMT


Hey@TomMalbran -- sorry (again) for letting this languish so long. Tagging [PM]--to@adrocknaphobia to take a look at this and evaluate what's currently in the pull request.

@core-ai-bot
Copy link
Member Author

Comment by TomMalbran
Tuesday Apr 16, 2013 at 22:02 GMT


@njx That is ok, I know is a big requests with several things so it would take its time to review it. The bullet list at the start should have all the new features. I started splitting up this request, to make it easier to review and merge, is that ok too?

@core-ai-bot
Copy link
Member Author

Comment by njx
Tuesday Apr 16, 2013 at 22:35 GMT


Let's wait until Adam's had a chance to look at it before doing more work to split it up--he might have opinions about which pieces he does/doesn't want right now. Thanks!

@core-ai-bot
Copy link
Member Author

Comment by njx
Friday May 10, 2013 at 01:48 GMT


Hmmm, somehow the [PM] tag got lost. To@adrocknaphobia again.

@core-ai-bot
Copy link
Member Author

Comment by redmunds
Monday Mar 17, 2014 at 21:01 GMT


Assigning [PM] issue to@jadbox

@core-ai-bot
Copy link
Member Author

Comment by TomMalbran
Monday Mar 17, 2014 at 21:03 GMT


@redmunds I will just close this. Most of it was done in separate PRs, and the rest will be done in the same way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant