ProjectManager icon indicating copy to clipboard operation
ProjectManager copied to clipboard

Can i rename project via bash?

Open neins opened this issue 5 years ago • 4 comments

Hello! I use bash script to generate new projects, i clone my template - just a git repository:

function new-gulp() {

    # Copy .git folder of my template to my remote disk
    cp -r ~/WEB/TEMPLATES/HTML\ template\ GULP/.git/ /d/WEB/$1.git

    # Alias 'cd' to my local project dir
    gulpdir

    # Clone to local
    git clone /d/WEB/$1.git
    cd $1

    # Ignore these files
    git update-index --assume-unchanged TEMPLATE.sublime-workspace
    git update-index --assume-unchanged TEMPLATE.sublime-project
    printf '\n*.sublime-*'>>.gitignore

    # Back to remote
    cd  /d/WEB/$1.git
    git init --bare

    # Back to project and initial commit for the project
    gulpdir
    cd $1
    git commit -am "Windows: project added"
    git push

    # Open the project in Sublime Text
    /c/PORTABLE/Sublime\ Text\ 3/sublime_text.exe /c/gulp/gulp-layout/$1 TEMPLATE.sublime-project

    return
    
}

But in this automated chain i have a few "roughness", when sublime text open brand-new TEMPLATE project i have to import and rename project manually, so my question is - can the ProjectManager somehow interact with $1 variable in order to rename project and then automatically add project to sublime? Any ideas to resolve this? I don't know which method ProjectManager uses to rename projects, but long time ago i tried manually rename .sublime-project/.sublime-worspace files and got errors in sublime.

Maybe it will be possible to create a feature like reading external .json file when it appears and name project as it describes in this file? For example, i just generate ProjectManagerConf.json in root of project folder, which contains:

{
"auto_import": true,
"project_name": "My project"
}

neins avatar Jul 13 '19 23:07 neins

It is an interesting idea but I think it is out of the scope of Project Manager.

randy3k avatar Aug 17 '19 07:08 randy3k

It is an interesting idea but I think it is out of the scope of Project Manager.

So, i have found list where ProjectManager store all projects, it is Packages\User\Projects\library.json. I may edit this list without any problem, but other problem is how to rename sublime files properly, maybe you coud tell me what is the right method to rename these files without getting any error?

neins avatar Sep 25 '19 20:09 neins

I guess you just need to add again the project with the new name and then remove the old project.

randy3k avatar Sep 25 '19 21:09 randy3k

I guess you just need to add again the project with the new name and then remove the old project.

So, i found out how it works:

  • first it needs to rename TEMPLATE.sublime-project TEMPLATE.sublime-worspace to My great project.sublime-project My great project.sublime-worspace

  • second need add full path with My great project.sublime-project into Packages\User\Projects\library.json

  • and most important part, need to edit My great project.sublime-worspace and inside this file just replace "project": "TEMPLATE.sublime-project", to "project": "My great project.sublime-project", - this code line will be almost at end of the file.

Obviously, all actions must be completed before Sublime text will be started. So, i think it is time to write my own script to rename project in shell. When i done with my code i'll show my solution here.

neins avatar Sep 25 '19 21:09 neins