Unable to copy selection (all results) #184

Closed
chamons opened this Issue Apr 10, 2014 · 8 comments

Projects

None yet

9 participants

@chamons
chamons commented Apr 10, 2014

You can't copy paste the results of "Project FInd Results". This makes further filtering by other tools impossible and it worse that grep.

@kevinsawicki kevinsawicki added the bug label May 1, 2014
@loganwedwards

+1. A nice feature would be to save the results to a file.

@benogle benogle closed this in 7bc7d48 Nov 13, 2014
@edrex
edrex commented Feb 5, 2015

Seems like the more common need is to copy the entire buffer, or an arbitrary section. In my case, I want to share the whole set of find results with some coworkers.

The patch to copy a single line seems to be blocking copying a selection.

(It's possible to select text in the results window by dragging starting from the margins.)

@kristenward

+1 - I often find the need to copy or save the entire set of search results.

@benogle
Contributor
benogle commented Jul 22, 2015

Can you make a new issue?

@johnjelinek

@benogle: did someone add a new issue for this problem yet? I need to screen-scrape the find results window.

@benogle
Contributor
benogle commented Jan 26, 2016

No one made a new issue. You shouldnt need to screen scrape. As a temp workaround, you can dig into the model. After you do a search, open the console and enter these two lines:

pack = atom.packages.getActivePackage('find-and-replace')
pack.mainModule.resultsModel.results

Also the resultsModel has a bunch of events you could subscribe to like resultsModel.onDidAddResult.

Anyway, the long term option would be to add a command to copy the entire contents of the result set.

@thenikso

Following @benogle hint I did:

โŒ˜ + โŽ‡ + i โ†’ Sources โ†’ Snippets and create a new snippet with:

var pack = atom.packages.getActivePackage('find-and-replace');
var results = pack.mainModule.resultsModel.results;
var resp = [];
for(var r in results) {
  if(results.hasOwnProperty(r)) {
    resp = resp.concat(results[r].matches);
  }
}
var matches = resp.map(r => r.matchText);
matches;

You can then right click it and Run to have the output on your console. right click the result on the console and Store as Global Variable then copy(temp1) to copy the result to the clipboard.

@tfoote
tfoote commented Jun 8, 2016

I still can't copy the whole result, new ticket at: #738

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment