Skip to content

Commit

Permalink
Tweaks on sublime package
Browse files Browse the repository at this point in the history
moved sublime_PackagesPath from generated format to manual because
in sublime api packages_path works without passing any value
now we don't produce *.pyc files we can get rid of __pycache__
folders
  • Loading branch information
zoli committed Mar 19, 2016
1 parent cb459ef commit c3f7f27
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 93 deletions.
4 changes: 2 additions & 2 deletions lib/sublime/package.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,10 @@ func (p *pkg) loadSettings() {
// Any directory in sublime is a package
func isPKG(dir string) bool {
fi, err := os.Stat(dir)
if err != nil {
if err != nil || !fi.IsDir() {
return false
}
return fi.IsDir()
return true
}

var packageRecord *packages.Record = &packages.Record{isPKG, newPKG}
Expand Down
87 changes: 0 additions & 87 deletions lib/sublime/sublime_api_generated.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,41 +31,6 @@ func sublime_ActiveWindow() (py.Object, error) {
return pyret0, err
}

func sublime_AddPackagesPath(tu *py.Tuple) (py.Object, error) {
var (
arg1 string
arg2 string
)
if v, err := tu.GetItem(0); err != nil {
return nil, err
} else {
if v3, err2 := fromPython(v); err2 != nil {
return nil, err2
} else {
if v2, ok := v3.(string); !ok {
return nil, fmt.Errorf("Expected type string for backend.Editor.AddPackagesPath() arg1, not %s", v.Type())
} else {
arg1 = v2
}
}
}
if v, err := tu.GetItem(1); err != nil {
return nil, err
} else {
if v3, err2 := fromPython(v); err2 != nil {
return nil, err2
} else {
if v2, ok := v3.(string); !ok {
return nil, fmt.Errorf("Expected type string for backend.Editor.AddPackagesPath() arg2, not %s", v.Type())
} else {
arg2 = v2
}
}
}
backend.GetEditor().AddPackagesPath(arg1, arg2)
return toPython(nil)
}

func sublime_Arch() (py.Object, error) {
ret0 := backend.GetEditor().Arch()
var err error
Expand Down Expand Up @@ -144,34 +109,6 @@ func sublime_NewWindow() (py.Object, error) {
return pyret0, err
}

func sublime_PackagesPath(tu *py.Tuple) (py.Object, error) {
var (
arg1 string
)
if v, err := tu.GetItem(0); err != nil {
return nil, err
} else {
if v3, err2 := fromPython(v); err2 != nil {
return nil, err2
} else {
if v2, ok := v3.(string); !ok {
return nil, fmt.Errorf("Expected type string for backend.Editor.PackagesPath() arg1, not %s", v.Type())
} else {
arg1 = v2
}
}
}
ret0 := backend.GetEditor().PackagesPath(arg1)
var err error
var pyret0 py.Object

pyret0, err = toPython(ret0)
if err != nil {
return nil, err
}
return pyret0, err
}

func sublime_Plat() (py.Object, error) {
ret0 := backend.GetEditor().Plat()
var err error
Expand All @@ -196,27 +133,6 @@ func sublime_Platform() (py.Object, error) {
return pyret0, err
}

func sublime_RemovePackagesPath(tu *py.Tuple) (py.Object, error) {
var (
arg1 string
)
if v, err := tu.GetItem(0); err != nil {
return nil, err
} else {
if v3, err2 := fromPython(v); err2 != nil {
return nil, err2
} else {
if v2, ok := v3.(string); !ok {
return nil, fmt.Errorf("Expected type string for backend.Editor.RemovePackagesPath() arg1, not %s", v.Type())
} else {
arg1 = v2
}
}
}
backend.GetEditor().RemovePackagesPath(arg1)
return toPython(nil)
}

func sublime_RunCommand(tu *py.Tuple) (py.Object, error) {
var (
arg1 string
Expand Down Expand Up @@ -316,16 +232,13 @@ var sublime_methods = []py.Method{
{Name: "ok_cancel_dialog", Func: sublime_OkCancelDialog},
{Name: "status_message", Func: sublime_StatusMessage},
{Name: "active_window", Func: sublime_ActiveWindow},
{Name: "add_packages_path", Func: sublime_AddPackagesPath},
{Name: "arch", Func: sublime_Arch},
{Name: "get_clipboard", Func: sublime_GetClipboard},
{Name: "log_commands", Func: sublime_LogCommands},
{Name: "log_input", Func: sublime_LogInput},
{Name: "new_window", Func: sublime_NewWindow},
{Name: "packages_path", Func: sublime_PackagesPath},
{Name: "plat", Func: sublime_Plat},
{Name: "platform", Func: sublime_Platform},
{Name: "remove_packages_path", Func: sublime_RemovePackagesPath},
{Name: "run_command", Func: sublime_RunCommand},
{Name: "set_clipboard", Func: sublime_SetClipboard},
{Name: "settings", Func: sublime_Settings},
Expand Down
51 changes: 50 additions & 1 deletion lib/sublime/sublime_manual.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,65 @@ func sublime_set_timeout(tu *py.Tuple, kwargs *py.Dict) (py.Object, error) {
return toPython(nil)
}

func sublime_PackagesPath(tu *py.Tuple) (py.Object, error) {
var (
arg1 string
)
if tu.Size() == 0 {
arg1 = "shipped"
} else if v, err := tu.GetItem(0); err != nil {
return nil, err
} else {
if v3, err2 := fromPython(v); err2 != nil {
return nil, err2
} else {
if v2, ok := v3.(string); !ok {
return nil, fmt.Errorf("Expected type string for backend.Editor.PackagesPath() arg1, not %s", v.Type())
} else {
arg1 = v2
}
}
}
ret0 := backend.GetEditor().PackagesPath(arg1)
var err error
var pyret0 py.Object

pyret0, err = toPython(ret0)
if err != nil {
return nil, err
}
return pyret0, err
}

var sublime_manual_methods = []py.Method{
{Name: "console", Func: sublime_Console},
{Name: "set_timeout", Func: sublime_set_timeout},
{Name: "packages_path", Func: sublime_PackagesPath},
}

func init() {
sublime_methods = append(sublime_methods, py.Method{Name: "console", Func: sublime_Console}, py.Method{Name: "set_timeout", Func: sublime_set_timeout})
sublime_methods = append(sublime_methods, sublime_manual_methods...)
l := py.InitAndLock()
defer l.Unlock()

m, err := py.InitModule("sublime", sublime_methods)
if err != nil {
// TODO: we should handle this as error
panic(err)
}

if sys, err := py.Import("sys"); err != nil {
log.Warn(err)
} else {
if pyc, err := py.NewUnicode("dont_write_bytecode"); err != nil {
log.Warn(err)
} else {
// avoid pyc files
sys.Base().SetAttr(pyc, py.True)
}
sys.Decref()
}

classes := []struct {
name string
c *py.Class
Expand Down
2 changes: 0 additions & 2 deletions lib/sublime/testdata/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,6 @@ __name__
__package__
__spec__
active_window
add_packages_path
arch
console
error_message
Expand All @@ -386,7 +385,6 @@ packages_path
plat
platform
register
remove_packages_path
run_command
set_clipboard
set_timeout
Expand Down
2 changes: 1 addition & 1 deletion tasks/local/build/gen_python_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ func main() {
sn),
},
{path.Join(sublimepath, "sublime_api_generated.go"), generatemethodsEx(reflect.TypeOf(backend.GetEditor()),
regexp.MustCompile("Info|HandleInput|CommandHandler|Frontend|Console|SetActiveWindow|Init|Watch|Observe|SetClipboardFuncs|KeyBindings").MatchString,
regexp.MustCompile("Info|HandleInput|CommandHandler|Frontend|Console|SetActiveWindow|Init|Watch|Observe|SetClipboardFuncs|KeyBindings|PackagesPath").MatchString,
"backend.GetEditor().",
sn),
},
Expand Down

0 comments on commit c3f7f27

Please sign in to comment.