Giter VIP home page Giter VIP logo

projectmanager's People

Contributors

acheronfail avatar alkuzad avatar berenm avatar corbanmailloux avatar jfcherng avatar jpcirrus avatar jrappen avatar randy3k avatar rchl avatar roblav96 avatar timogilvy avatar val95240 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

projectmanager's Issues

Upstream Package Control package name conflict with your fork

I’ve been using your fork for a few months already. Recently, Package Control on ST 4126 keeps removing your fork (installed via adding GitHub repository to Package Control) and installing the upstream fork.

Then I get the following error log:

Traceback (most recent call last):
  File "/home/ts/.config/sublime-text/Installed Packages/ProjectManager.sublime-package/project_manager.py", line 713, in callback
  File "/home/ts/.config/sublime-text/Installed Packages/ProjectManager.sublime-package/project_manager.py", line 687, in run
  File "/home/ts/.config/sublime-text/Installed Packages/ProjectManager.sublime-package/project_manager.py", line 292, in display_projects
  File "/home/ts/.config/sublime-text/Installed Packages/ProjectManager.sublime-package/project_manager.py", line 329, in move_recent_projects_to_top
  File "/home/ts/.config/sublime-text/Installed Packages/ProjectManager.sublime-package/project_manager.py", line 329, in <listcomp>
  File "/home/ts/.config/sublime-text/Installed Packages/ProjectManager.sublime-package/project_manager.py", line 94, in pretty_path

I’d disable the upstream package, however, Package Control disables packages by their name only, not by their repository/URL, thus it disables both upstream and your fork.

I think its time to publish a new package on Package Control, mainly because the upstream developer does not want to merge your changes (unless someone breaks down your changes to individual/atomic changes).

When a workspace contains a slash on Linux, it errors out that it contains a backslash

I use Linux. I have just tried out if we can create a workspace in a subfolder of a project (e.g. subfolder/workspace_name). It greeted me with the following error.

sublime.message_dialog("Invalid name: can't contain a '\\'")

While it might be a nice feature to allow subfolders in projects for workspaces, this error is incorrect on Linux/macOS, as on these platforms, we use slashes (/) to separate folders in paths.

I think it could be fixed using this:

if sublime.platform() == 'windows':
    sublime.message_dialog("Invalid name: can't contain a '\\'")
else:
    sublime.message_dialog("Invalid name: can't contain a '/'")
return

Do you think I could create a PR for this or you need to do something else too in order to fix this issue.

After creating a new project, it is not available even after refreshing projects

I have just created a new project using Add New Project (I entered existing_folder/another_existing_folder/non-existing_existing_folder), but I cannot switch to it. Refresh[ing] Projects does not help either. Sublime Text restart didn’t help either.

The project and workspace files were successfully created (existing_folder/another_existing_folder/non-existing_existing_folder/non-existent_existing_folder.sublime-{project,workspace}).

Currently, I am running ST 4126 on Arch Linux.

I cannot even import the project (I need to open it using ProjectOpen Project…). Project Manager even shows a modal with Import name.sublime-project?, but after confirmation I cannot find it in the project list overlay.

I think I’ve found the culprit: I’ve already had a project with the same name, but under a different folder, for example:

  • [existing project] folder/project/project.sublime-{project,workspace};
  • [new project] different_folder/another_folder/project/project.sublime-{project,workspace}.

I suspect that Project Manager does not care about the path, only the project name.

Deleting default workspace closes open non-default workspace

I had open two workspaces in two windows:

  • proj1:default;
  • proj1:work1.

I deleted proj1:default, which closed the windows in which it was open (as expected), but also closed proj1:work1. Fortunately, it was not deleted and I could simply re-open it.

I’d expect not to close any other project and/or workspace besides the one that is to be deleted.

Add an option to move a project

We already have an option to rename a project (change its name only), we I recently wanted to tidy up my projects, so I wanted to move a project from one folder to another, e.g. moving a project from proj1/proj1/proj1.sublime-{project,workspace} to company/proj1/proj1.sublime-{project,workspace}.

I think this operation should be separate from renaming a project (unlike mv command in terminal).

As a workaround, I was able to make it work by simply moving the project folder to a new place (e.g. mv proj1/proj1 company) and run Refresh Projects command.

Creating a new project from currently open window with open files does not save/copy the session files

I consider this a major bug, as I lost some files when creating a project.


What did I do?

  1. I added some folders to a new, empty window (workspace).
  2. I open some files from the added folders.
  3. I edited some files from the added folders, but I didn’t save them.
  4. I also created some new files, but I didn’t save them.
  5. I wanted to save the current window (workspace) as a new project, so I went and selected Add New Project from PM’s overlay.

What happened?

As soon as I entered the name of the new project and pressed Enter, visually, all open files were closed, however, ST asked me if I want save the unsaved files (each unsaved file triggered a separate modal window).

What did I expect?

Save behaviour (apart from the project name input and folders creation) as the behaviour of the built-in ST command to save a project (ProjectSave Project As…, that is, the current window (workspace) would be basically moved to a new location and the project/workspace would become a named project/workspace.


Some side notes:

  • IMHO, you should consider renaming Add New Project to Create New Project.
  • You might want to sort of split the Add New Project into two separate commands:
    • one to create a new empty project in a new window (unless the current window is empty, i.e. it has no files open and no folders added);
    • one to save current window (workspace/project) to a new project (unless it is already saved; in that case you might want to ask the user if they want to clone the project/workspace, but that is of no importance to me).

Sometimes the project/workspace name disappears from the status bar

Related: #1


I have usually open multiple windows (some with open projects, others without any project) and I don’t close all the windows prior to quitting ST (I let ST to re-open them on its next startup).

Now, the issue is that sometimes the project/workspace name disappears from the status bar. It does not matter if the project was reopen by ST on startup or it was open at ST runtime. Re-opening the project puts the project/workspace name back into the status bar.

Add commands that work with currently open project/workspace

When a project/workspace is open in current window, we could have the following commands for current project/workspace (currently, we need to select a project/workspace prior to executing the particular command):

  • edit project;
  • rename project.

Of course, when no project/workspace is open in current window, these commands should ideally be omitted or at least made unselectable.

`Append Project` does not seem to work

I presumed that Append Project would append all files (both saved and unsaved), and other state information from a selected workspace to currectly open workspace.

However, it does not seem to do anything. Moreover, when I select a project with more than one workspace to be appended to currently open workspace, it does not prompt me to choose one of the workspaces.

Add workspace description

I use many workspaces (more than 100). I use some workspaces (nearly) every day, others are much more rarely used.

Therefore I suggest to implement a feature to describe each and every workspace. We could also describe the project itselft, however, that is of less importance to me.

Now, we cannot use .sublime-workspace files, as those are overwritten whenever ST writes its content into that file.

We could use .sublime-project files, which accept unknown keys and values. However, I think that using recent.json would be much better.

recent.json could contain something like this:

[
  {
    "project": "~/.config/sublime-text/Packages/User/Projects/some_project/some_project.sublime-project",
    "description": "Project description",
    "workspaces":
    [
      {
        "name": "/home/ts/.config/sublime-text/Packages/User/Projects/some_project/some_project.sublime-workspace",
        "description": "Workspace description"
      }
    ]
  }
]

The description (when available) could be then used in the workspace list instead of open files. When the particular workspace does not have description set, open files should be listed as it is the case now.

Similarly, the project description (when available) could be used in the project list instead of the first project folder.

Reopening a project already open in another window does not work

Reproduction steps:

  1. Open a project (Project 1) in window 1.
  2. Open another project (or an empty window; let’s name it window 2).
  3. While being in window 2, I try to open a project in [a] new window:
  • in your downstream Project Manager: nothing happens;
  • in the upstream Project Manager:
    • Project 1 in window 1 is closed (ProjectClose Project / close_workspace);
    • a new window (window 3) is open with Project 1.

When I try to do the same, but instead of open[ing] a project in [a] new window, I try to simply open [a] project in an empty window, the empty window is closed and the window on the left from the empty window is selected (I use SwayWM in tabbed mode; on other enviroments/platforms it might behave a bit differently).

I would expect to always open the selected project, other in current window or in a new window, regardless if it is already open.

Add an number of workspaces indicator to project list

Currently, there is no way to know how many workspaces are associated with a particular project.

It might be a good idea to add an indicator of how many workspaces are in a project. It might be as simple as a number in a circle, ideally with a tooltip saying something like Number of workspaces in the project.

Of course, it might be a good idea to output it only when there are two or more workspaces associated with particular project.

After closing a workspace, the name of project/workspace is still output in the status bar

I’d expect that when I close a currently open workspace using close_workspace command (or ProjectClose Project), [project_name/workspace_name] would be removed from there or at least some arbitrary string (like n/a or no project open) would be output. I’d prefer the first option though (output nothing), as it is how it works when no project was open in the current window yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.