elizagamedev / rider2emacs

Translates JetBrains Rider invocations to emacsclient invocations (for Unity)
18 stars 2 forks source link

Rider2Emacs is not working on OSX #2

Open squiter opened 1 year ago

squiter commented 1 year ago

I could open files using rider2emacs <filename> on my iTerm, but when I configure Unity to use rider2emacs, it doesn't work... nothing happens.

The biggest problem is that I don't know where to look for some error message or something like that.

My emacsclient is in my $PATH: image

mrcc912 commented 1 year ago

I am having the same issue. Everything used to be working for me, not sure if it was a unity change or what, but now when I select it in the Unity Editor Tools section, none of the .csproj generation settings pop up, and when I try to open something from Unity it no longer does anything.

I'm not sure why they would explicitly target the tiny percentage of their users who use emacs so I wonder what they did to break this...

bam93 commented 8 months ago

In Monterey, you even cannot select the rider2emacs binary, it restricts you to Applications with .app extension. That can be worked around by creating a pseudo-app wrapping the binary via a shell script and providing this to Unity. This works in the sense that Unity then opens source files in Emacs, but with no options (eg no column/line number). It also complains as follows (despite opening the file):

External Code Editor application path does not exist (/Applications/rider2emacs.app)! Please select a different application
UnityEditor.DefaultExternalCodeEditor:OpenProject (string,int,int)
Unity.CodeEditor.CodeEditor:OnOpenAsset (int,int,int) (at /Users/bokken/buildslave/unity/build/Editor/Mono/CodeEditor/CodeEditor.cs:70)
UnityEngine.GUIUtility:ProcessEvent (int,intptr) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)

The worst - that has already been mentioned by others - is that it doesn't consider this external script as a rider installation and so does not enable the expected functionality. I suspect it is a naming issue, it must expect a filename/directory structure to assess an external tool is Jetbrains Rider, but I don't know what it checks for.

Any help greatly appreciated :)

bam93 commented 8 months ago

For what it's worth, here the little bash shell script I wrapped into an application, so you get at least the possibility to open source code files, even though not at a specified (error) location. I also write a log file for debugging. I explicitly set the path to emacsclient as it did not pick it up from the shell for some reason.

# Access the input file through the $1 variable
PATH=/Users/baaden/bin/:$PATH /Users/baaden/bin/rider2emacs "$@" &> /Users/baaden/log/rider2emacs.log
echo "Running rider2emacs with arguments $*" >> /Users/baaden/log/rider2emacs.log

You can wrap this to an application with Automator on Mac. I join mine but not sure how portable that is among machines (and of course you need to change the path).

rider2emacs.app.zip