leny / atom-tree-ignore

Use a .atomignore file to hide files & folder in tree view
MIT License
41 stars 13 forks source link

Not works in Windows OS #2

Closed brunowego closed 8 years ago

brunowego commented 9 years ago

This plugin sounds for me a nice feature, but I try use in Win OS but not works for me. Have tested before in this OS? Thanks.

leny commented 9 years ago

Hi, thanks for your report.

I currently don't have a Windows computer here to test. I'll try to borrow one this week and will investigate :smile:

brunowego commented 9 years ago

Thanks for the quickly reply, I will appreciate your effort!

dany-on-demand commented 9 years ago

Still doesn't work.

leny commented 9 years ago

Still unfortunately don't have any windows computer to investigate.

Feel free to submit a PR if you find something. :smiley:

dany-on-demand commented 9 years ago

I am absolutely new to atom. Don't you have friends who use windows?

PhiLhoSoft commented 8 years ago

Issue with Atom: when the install of a package (at least this one) fails, we get no error at all: it fails silently, we just still have the Install button active...

Looked at the DevTools console, I found a long stack trace with node-gyp. I can paste it here, but it has French messages...

OK, I will only show an exerpt:

> runas@2.0.0 install C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas
> node-gyp rebuild

C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas
> if not defined npm_config_node_gyp (node "C:\Users\plhoste\AppData\Local\atom\app-1.3.1\resources\app\apm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild ) 
G�n�ration des projets individuellement dans cette solution. Pour activer la g�n�ration en parall�le, ajoutez le commutateur "/m".
  main.cc
  runas_win.cc
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(336): error C2988: impossible de reconna�tre la d�finition/d�claration de mod�le [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(336): error C2059: erreur de syntaxe�: 'using' [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(469): error C2988: impossible de reconna�tre la d�finition/d�claration de mod�le [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(469): error C2059: erreur de syntaxe�: 'using' [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(472): error C2332: 'enum'�: nom de balise manquant [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(472): error C3306: 'v8::<unnamed-tag>'�: la classe sans nom mod�le n'est pas autoris�e [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
[...]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(3403): error C2270: 'ByteLength'�: modificateurs non autoris�s sur les fonctions non membres [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]
C:\Users\plhoste\.atom\.node-gyp\.node-gyp\0.34.3\deps\v8\include\v8.h(3403): fatal error C1003: le nombre d'erreurs est sup�rieur � 100�; arr�t de la compilation [C:\tmp\apm-install-dir-1151115-8256-1r5um0h\node_modules\tree-ignore\node_modules\pathwatcher\node_modules\runas\build\runas.vcxproj]

gypnpm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Users\\plhoste\\AppData\\Local\\atom\\app-1.3.1\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\plhoste\\AppData\\Local\\atom\\app-1.3.1\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\plhoste\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\plhoste\\.atom\\.apmrc" "install" "C:\\tmp\\d-1151115-8256-f8ncm\\package.tgz" "--target=0.34.3" "--arch=ia32" "--msvs_version=2010"
npm ERR! node v0.10.40
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

npm ERR! runas@2.0.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the runas@2.0.0 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls runas
npm ERR! There is likely additional logging output above.

Looks like the compiler doesn't like v8.h at all! Note: I have Node & NPM installed on my computer and it works fine, eg. to compile PhantomJS.

leny commented 8 years ago

Hi, I've just published 0.3.0 version.

Since the internal dependencies have changed, it could be a good idea to run the following commands in a shell after the update : apm rebuild and apm rebuild-module-cache.

Unfortunately, I don't have a Windows computer at home right now. If someone can test the new version on windows and tell me if its okay, it would be really great.

Sorry for the long, long time on this issue.

dany-on-demand commented 8 years ago

Hey, it took you so long I stopped using Atom, yay! :D/

leny commented 8 years ago

Sorry about that. I'm still using it, and had a very busy year. The day someone will pay me to make only open-source stuffs and still be able to pay my rent, I will shorten the delay. ;)

PhiLhoSoft commented 8 years ago

I doubt your package's issue is the main reason for dany-on-demand to stop using Atom... :smile:

I gave the new version a try, and it still didn't work... But there were progress, as I no longer had the logs I reported above.

I debugged a bit and found out the ignore module was not matching the files I told it to ignore. The reason is simple: its regexes use slash as delimiter, while the path given to it uses backslashes! The fix is simple too:

        if ( sPath = ( $this = $( this ) ).data( "path" ) ) {
            sPath = sPath.replace(/\\/g, '/');
            $this.parents( "li.entry" ).first().toggleClass( "tree-ignore-element", _bHideState && !oIgnore.filter( [ sPath ] ).length );
        }

Here, I do a naive replacement of backslashes with slashes, perhaps Node has a "cleaner" way to do it. But it works, the files are no longer visible in the tree-view.

Note: this does only half of the expected job. I also expected it to do the same thing than the Exclude VCS Ignored Paths setting: "will be ignored by some packages, such as the fuzzy finder and find and replace". But if I do a global find of a string in an ignored file, the file is in the search results.

Anyway, your project can already be useful, eg. I might want to hide back-end files in a project: they must not be in a .gitignore (or .p4ignore or similar!), but it is cleaner not to see them in my front-end project view.

leny commented 8 years ago

Thanks @PhiLhoSoft

On Linux & Mac, paths use slashes, when Windows use backslashes.

I'll implement your fix in the half-hour so you can test it.

leny commented 8 years ago

I've just pushed the 0.3.1 version wth your fix (only applied on windows platform). can you test it and tell me if all is okay on your side?

PhiLhoSoft commented 8 years ago

I can confirm it works. Not sure you needed to distinguish platforms, as I doubt backslash is a legal char in Unix file names, but better safe than sorry, I suppose. (And I can be wrong!)

Do you think you can take a look at excluding these files from searches, too? Maybe you want a new issue for that?

leny commented 8 years ago

Im' not sure about what you're refering to.

I prefer a separate issue since the original issue here is fixed, so I can close it.

Thanks for the help.