كيفية إزالة اسم مساحة الاسم من سوبليميريبل (كلوجور) موجه?
-
21-12-2019 - |
سؤال
أنا باستخدام كلوجور سوبليمريبل وأود أن أعرف ما إذا كان يمكنني إزالة اسم مساحة الاسم من موجه
حاليا بلدي موجه يشبه هذا:
foo.core=>
في كثير من الأحيان لسبب ما تضاعف:
foo.core=>foo.core=>
أود أن أكون قادرا على الحصول على هذا فقط:
>
لا يمكنني العثور على المكان الذي يتم فيه تعريف هذا السلوك في حزمة سوبليميريبل
أي مساعدة ترحيب
المحلول
بقدر ما أستطيع أن أقول,lein repl
يعترف أي حجة لوضع موجه.علاوة على ذلك ، فإن المعيار tools.nrepl
, ، كما تستخدم من قبل lein repl
, ، لديه القدرة على ضبط الموجه ، لكنه مخفي داخل وظيفة خاصة في cmdline.clj
ولا يتعرض لأي وظيفة عامة.لذا فإن الكشف عن هذه الوظيفة يعني تعديل كل من لينينغنت والأدوات.نريبل.
بدلا من ذلك ، فإن الطريقة التي يمكن الوصول إليها حاليا لتعيين المطالبة هي كوسيطة للدالة clojure.main/repl
.لم يتم إعداد سامية للتفاعل مباشرة مع هذا ، لأنه تم إعداده لاستخدام nrepl
بروتوكول للتواصل مع كلوجور.
لذلك ، إلا إذا كنت في عداد المفقودين شيء ، خياراتك هي:
- اقبل أنه لا يمكنك تغيير المطالبة
- تغيير لينينجن والأدوات.نر حتى على حد سواء فضح خيار موجه
- تغيير سامية بحيث يمكن استخدام كلوجور.الرئيسية / ريبل مباشرة
نصائح أخرى
أعلم أن هذا سؤال قديم ، لكن هناك إجابة أفضل من الإجابة المقبولة.في الخاص بك project.clj
ملف ، يمكنك تعيين :repl-options
مثل ذلك:
(defproject my-stuff "0.1.0"
:description "Leiningen Tutorial Project"
:url "http://example.com/FIXME"
:license {:name "MIT"
:url "http://opensource.org/licenses/MIT"}
:dependencies [[org.clojure/clojure "1.8.0"]]
:main ^:skip-aot my-stuff.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}}
:repl-options {
;; custom prompt
prompt (fn [ns] (str "> " ))
}
)
في حالتك ، استبدل prompt (fn [ns] (str "> " ))
مع prompt (str "> " )
ويجب أن تكون كل مجموعة.