ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Folder​2​Project

by divinites ST3

A sublime text plug-in that open the folder that contains current open file.

Details

Installs

  • Total 4K
  • Win 2K
  • Mac 686
  • Linux 622
May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7
Windows 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1

Readme

Source
raw.​githubusercontent.​com

Open Folder From File As a Project

Introduction

Sublime Text has a bunch of useful API, However, given an opened file, there is no explicit way to open the folder that contains this file as a project, especially when a *.sublime-project inside that folder. That's why I develop this small plug-in. Basically, this plug-in does two things:

  • Open the folder that contains the openned file as a project. If there is a sublime-project file in this folder, load it (This may change the interpreter, syntax theme, etc.)
  • provide an API for futher developement:

window.run_command(“open_folder_as_project”, {“folder”: folder})

It is a bit tricky to implement this API. First, Sublime only has three project-related API:

- sublime.window.project_file_name()

- sublime.window.project_data()

- sublime.window.set_project_data()

Admittedly, if you have already opened a project file, the methods API are enough to retrive the project settings, but no method can directly open a sublime-project file, nor open a folder as a project.

Therefore, I designed a workaround: 1. Search the folder for *.sublime-project file 2. If exist, load this file. Otherwise create a temporary project configuration. 3. put folder's path in project settings, temporarily change all relative paths to absolute paths to correctly show relevant folders in side bar. 4. update project data.

Usage

  • “open_current_folder_as_project”: Add the folder that contains current file to the sidebar.

  • “remove_folder_from_project”: Remove the folder that contains current file from sidebar.

  • You can define your own keymaps, the default keymap is:

[
   { "keys": ["ctrl+shift+h"], "command": "open_current_folder_as_project"},
   { "keys": ["ctrl+shift+l"], "command": "remove_folder_from_project"}
]