Mercurial Hosting > luan
diff core/src/luan/modules/IoLuan.java @ 693:ca169567ce07
module URIs must now include ".luan"
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 19 Apr 2016 15:54:11 -0600 |
parents | cdc70de628b5 |
children | d0280c7fdc3a |
line wrap: on
line diff
--- a/core/src/luan/modules/IoLuan.java Mon Apr 18 20:40:21 2016 -0600 +++ b/core/src/luan/modules/IoLuan.java Tue Apr 19 15:54:11 2016 -0600 @@ -521,18 +521,14 @@ return new LuanString(s).table(); } - public static LuanTable file(LuanState luan,String name,Boolean addExtension) throws LuanException { - if( addExtension != null && addExtension ) - name += ".luan"; + public static LuanTable file(LuanState luan,String name) throws LuanException { File file = new File(name); return new LuanFile(file).table(); } - public static LuanTable classpath(LuanState luan,String name,Boolean addExtension) throws LuanException { + public static LuanTable classpath(LuanState luan,String name) throws LuanException { if( name.contains("//") ) return null; - if( addExtension != null && addExtension ) - name += ".luan"; String path = name; check(luan,"classpath:"+path); URL url; @@ -561,26 +557,24 @@ return null; } - private static LuanTable url(String url,Boolean addExtension) throws IOException { - if( addExtension != null && addExtension ) - url += ".luan"; + private static LuanTable url(String url) throws IOException { return new LuanUrl(new URL(url)).table(); } - public static LuanTable http(String path,Boolean addExtension) throws IOException { - return url("http:"+path,addExtension); + public static LuanTable http(String path) throws IOException { + return url("http:"+path); } - public static LuanTable https(String path,Boolean addExtension) throws IOException { - return url("https:"+path,addExtension); + public static LuanTable https(String path) throws IOException { + return url("https:"+path); } - public static LuanTable luan(LuanState luan,String path,Boolean addExtension) throws LuanException { - return classpath( luan, "luan/modules/" + path, addExtension ); + public static LuanTable luan(LuanState luan,String path) throws LuanException { + return classpath( luan, "luan/modules/" + path ); } public static LuanTable stdin(LuanState luan) throws LuanException { - LuanTable io = (LuanTable)PackageLuan.require(luan,"luan:Io"); + LuanTable io = (LuanTable)PackageLuan.require(luan,"luan:Io.luan"); return (LuanTable)io.get(luan,"stdin"); } @@ -589,12 +583,12 @@ try { schemes.rawPut( "null", new LuanJavaFunction(IoLuan.class.getMethod("null_"),null) ); add( schemes, "string", String.class ); - add( schemes, "file", LuanState.class, String.class, Boolean.class ); - add( schemes, "classpath", LuanState.class, String.class, Boolean.class ); + add( schemes, "file", LuanState.class, String.class ); + add( schemes, "classpath", LuanState.class, String.class ); add( schemes, "socket", String.class ); - add( schemes, "http", String.class, Boolean.class ); - add( schemes, "https", String.class, Boolean.class ); - add( schemes, "luan", LuanState.class, String.class, Boolean.class ); + add( schemes, "http", String.class ); + add( schemes, "https", String.class ); + add( schemes, "luan", LuanState.class, String.class ); add( schemes, "stdin", LuanState.class ); } catch(NoSuchMethodException e) { throw new RuntimeException(e); @@ -603,7 +597,7 @@ } private static LuanTable schemes(LuanState luan) throws LuanException { - LuanTable t = (LuanTable)PackageLuan.loaded(luan).rawGet("luan:Io"); + LuanTable t = (LuanTable)PackageLuan.loaded(luan).rawGet("luan:Io.luan"); if( t == null ) return newSchemes(); t = (LuanTable)t.get(luan,"schemes"); @@ -612,7 +606,7 @@ return t; } - public static LuanTable uri(LuanState luan,String name,Boolean addExtension) throws LuanException { + public static LuanTable uri(LuanState luan,String name) throws LuanException { int i = name.indexOf(':'); if( i == -1 ) throw new LuanException( "invalid Io.uri name '"+name+"', missing scheme" ); @@ -622,7 +616,7 @@ LuanFunction opener = (LuanFunction)schemes.get(luan,scheme); if( opener == null ) throw new LuanException( "invalid scheme '"+scheme+"' in '"+name+"'" ); - return (LuanTable)Luan.first(opener.call(luan,new Object[]{location,addExtension})); + return (LuanTable)Luan.first(opener.call(luan,new Object[]{location})); } public static final class LuanSocket extends LuanIO {