Le problèmeComment obtenir la sortie d'un script utilisateur Xcode en retrait automatique?
Je veux appuyer sur une touche quand j'ai une ligne en surbrillance et convertir une seule ligne:
JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1 to:date2 intoMOC:mockRawMOC];
une déclaration multiligne:
JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1
to:date2
intoMOC:mockRawMOC];
Qu'est-ce que J'ai essayé
J'ai un script ruby simple qui me fait presque là.
#!/usr/bin/env ruby
s = STDIN.read
s.gsub!(/(:.+?\w) (\w.+?)/,'\1' + "\n\t" +'\2')
print s
Quand je mets la sortie « Remplacer la sélection », je reçois ceci:
JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1
to:date2
intoMOC:mockRawMOC];
Quand je mets la sortie « Placer le Presse-papiers », puis collez-le dans, je reçois le priai résultat:
JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1
to:date2
intoMOC:mockRawMOC];
Cependant, il s'agit de deux touches qui sont maladroites.
Avez-vous des idées sur la façon dont je peux obtenir le texte remplacé pour obéir aux règles de retrait automatique de Xcode?
Merci pour la suggestion. Je peux obtenir que Xcode se réindigne via Applescript, mais parce qu'il est exécuté * avant * la sélection est remplacée, cela n'a aucun effet. Je suppose que je vais devoir vivre avec des déchets en attendant pour l'instant. –