Open alanruttenberg opened 6 years ago
The use case is inspecting java methods, where I want to highlight just the method name, not the package prefix.
Sorry for the delay in replying to this. My current distance from Java (and ABCL) is responsible for still not understanding the problem. Surely you mean "inspecting a Lisp object that represents a Java method", right? If so, what do you call "value"? Is it the thing that goes into what is commonly known in CL as a "slot"? Do you want different values of different slots of the same object to have a different face? What is the CL datatype of the values you are talking about?
byte java.lang.Number.byteValue
I suspect you and I are talking of different things. If you post a screenshot of your SLIME hack probably all the misunderstanding goes away. In github, just print-screen and paste in the dialog box.
The we can discuss the implementation strategy.
Sorry for the delay in replying to this. My current distance from Java (and ABCL) is responsible for still not understanding the problem. Surely you mean "inspecting a Lisp object that represents a Java method", right? If so, what do you call "value"? Is it the thing that goes into what is commonly known in CL as a "slot"? Do you want different values of different slots of the same object to have a different face? What is the CL datatype of the values you are talking about?
No, I mean inspect a boxed java object. I'm not interested in the box, I use java reflection to get info on the java object/class. Also, some ABCL classes are builtins and have no corresponding lisp class, and so I have those display as java objects too.
I suspect you and I are talking of different things. If you post a screenshot of your SLIME hack probably all the misunderstanding goes away. In github, just print-screen and paste in the dialog box.
Attached.
I'm considering porting over my customizations from slime, mostly having to do with abcl.lisp One of the features I added was the ability to have a value be in a different face. The use case is inspecting java methods, where I want to highlight just the method name, not the package prefix.
byte java.lang.Number.byteValue
Implementing in slime was a hack. I added :strong-value as a part and dispatched on that in slime-inspector-insert-ispec. Then I divided the full name into two parts using :value for the first, and :strong-value for the second.
That strategy doesn't port as the implementation has changed to use buttons. Rather than trying to hack it in somehow, I wonder if this could be directly supported. I'm not wedded to using :strong-value. One idea would be to extend the inspector :value syntax to take a face argument.
I could do the implementation if desired but it would be helpful to get a hint on what the right approach would be in sly.