LightTable / LightTable

The Light Table IDE ⛺
www.lighttable.com
MIT License
11.73k stars 915 forks source link

lt.objs.style/provide-* broken for package-provided themes. #983

Closed joshuafcole closed 10 years ago

joshuafcole commented 10 years ago

The current provide-* behaviors don't prepend paths with the file:// protocol, so they're searched for via the default app://lighttable/ protocol which breaks the paths.

This is currently working properly with the lt.objs.plugins/load-css behavior.

I'm going to try tackling this tonight and will report back with a PR if I get it working.

How to Reproduce: In a plugin behavior file:

{:+ {:app [(:lt.objs.style/provide-skin "lightshow" "file:///home/josh/repos/phobos/lightshow/css/skin.css") (:lt.objs.style/provide-theme "lightshow" "./css/theme.css")] }}

The skin will function due to the explicit protocol. The theme will fail due to the implicit app:// protocol.

This can be seen in the Network Tab: Request URL: app://lighttable/home/josh/repos/external/LightTable/deploy/css/theme.css

I am unsure if the existing default themes require the app:// protocol or not, but this is an additional wrinkle that may complicate the fix.

joshuafcole commented 10 years ago

This issue can be closed @ibdknox