Js-beautify: لا يتم إلغاء المسافة البادئة للخطوط بشكل صحيح عند التفاف السمات

تم إنشاؤها على ٥ يناير ٢٠١٧  ·  23تعليقات  ·  مصدر: beautify-web/js-beautify

وصف

يتم كسر المسافة البادئة كلما حدث التفاف السمة.

باستخدام js-beautify v1.6.8 .

إدخال

كان الرمز يبدو هكذا قبل التجميل:

<div first second>content</div>
<div>content</div>

الناتج المتوقع

يجب أن يبدو الرمز هكذا بعد التجميل:

<div first 
     second>content</div>
<div>content</div>

الناتج الحقيقي

في الواقع بدا الكود هكذا بعد التجميل:

<div first
     second>content</div>
    <div>content</div>

خطوات التكاثر

تجميل الكود

بيئة

نظام التشغيل: MacOS

إعدادات

مثال:

{
    "wrap_attributes": "force-aligned"
}

ملاحظة: لا يلزم تعيين سمات التفاف_الوجه على المحاذاة بقوة. أي غلاف (باستثناء "force-expand-multiline") يتم إدخاله ، بما في ذلك ما إذا كانت كلمة "auto" تسبب في التفاف سيوضح هذه المشكلة.

html bug

التعليق الأكثر فائدة

وجدت المشكلة. الإصلاح الآن.

ال 23 كومينتر

أواجه نفس المشكلة (عبر atom-beautify # 735 )

<p attr1 attr2 attr3>
  text
</p>

تحول الى

<p attr1
    attr2
    attr3>
  text
  </p>

التفاف قوتي قيد التشغيل

نفس الشيء هنا ، يستمر الرمز في الحصول على مسافة بادئة أكثر فأكثر حتى اللحظة الأخيرة. من المستحيل استخدام هذا المُجمل بعد الآن على هذا النحو ، لا بد لي من تنسيق الكود يدويًا: /

<nav id="header"
  class="navbar navbar-default">
  <div class="header-container container-fluid">
    <div class="logo-container navbar-header">
      <a ui-sref="stats"
        class="navbar-brand pws-icon pws-pws"></a>
    </div>
    <div class="header-contents collapse navbar-collapse">
      <ul class="tab-list nav navbar-nav">
        <li class="tab tab-prospects"
          ui-sref-active="active">
          <a ui-sref="stats">
            Stats
          </a>
          </li>
          <li class="tab tab-prospects"
            ui-sref-active="active">
            <a ui-sref="upload">
              Importer
            </a>
            </li>
            <li class="tab tab-prospects"
              ui-sref-active="active">
              <a ui-sref="territories">
                Territory Assignment
              </a>
              </li>

      </ul>
    </div>
  </div>
  </nav>

يمكنني تأكيد هذا الخطأ ، بدأ يحدث بشكل عشوائي.
عندما تلتف سمات العلامة ، يبدأ المحتوى الداخلي في وضع مسافة بادئة غير صحيحة.

[تعديل]
اضطررت إلى تعطيل هذا المكون الإضافي لاستئناف عملي حتى يتم تسليم الإصلاح = /

كذلك هنا! = /

bitwiseman هل يعمل أحد على هذا؟ هذه حزمة شائعة جدًا وهذه مشكلة كبيرة جدًا ... أود أن أراها ثابتة: (للأسف لست متأكدًا من أنني أعرف ما يجب تغييره للمساهمة في الكود بنفسي. ربما بعض المؤشرات؟

يبدو أن إزالة "wrap_attributes": "force" في html من الملف .jsbeautifyrc يحل المشكلة

chenasraf - أحب أن أرى هذا ثابتًا. انظر Contributing.md للحصول على إرشادات حول البناء محليًا.
يوضح طلب السحب رقم 1104 كيف يبدو التغيير الجيد: إضافة إدخالات إلى test/data/html/tests.js ، وتحديث كود المنتج ، والإنشاء (يتم إجراء التغييرات على ملفات generated تلقائيًا).

@ matheusdavidson - من الجيد معرفة ذلك. chenasraf - سترغب في إضافة اختبار إلى المصفوفة التي تختبر بالفعل الخيار wrap_attributes .

هل من أحد يعمل بالفعل على هذا؟ الكثير من الشوكات للتحقق منها جميعًا. ربما استطيع المساعدة.

@ kf-ireneuszpatalas لم يكن لدي وقت للعمل عليه ، و chenasraf هو الشخص الآخر الوحيد الذي أبدى اهتمامًا.

bitwiseman يبدو أن إضافة multi_parser.unindent() بعد js / lib / beautify-html.js: 980 يصلح هذه المشكلة ، على الرغم من أنني لست متأكدًا مما إذا كان هذا يناسب منطق الحكمة ، وما الشروط التي يجب إضافتها ، وما إلى ذلك ... إذا كنت لا تزال تريدني أن أعتني به ، فسوف يستغرق الأمر بضعة أيام حتى أحصل على وقت فراغ كافٍ لتجاوز أساسيات ما يجري في العبوة. إما هذا أو ربما شخص آخر يريد أن يأخذ زمام الأمور

chenasraf - هذا يتسبب في فشل اختبارات متعددة قبل أن أفعل أي شيء آخر. نعم ، ما زلت أريدك أن تتناول هذا إذا استطعت.

chenasraf ،bitwiseman. لدي بعض الوقت لإلقاء نظرة غدا.

وجدت المشكلة. الإصلاح الآن.

قدم العلاقات العامة

HookyQR - شكرا جزيلا! تم دمجها ونشرها.

هل من الممكن تمديد خيارات الالتفاف بـ "المحاذاة التلقائية" ؟؟

ستفرض "محاذاة القوة" الالتفاف + المحاذاة ...

ولكن لنفترض أنني لا أرغب في التفاف كل عنصر HTML واحد ، ولكن فقط العناصر الطويلة - ثم نفّذها يدويًا ..

لذلك ، فإن "المحاذاة التلقائية" ستعمل فقط على محاذاة تلك التي تم تغليفها بالفعل.

Montago - يُرجى فتح عدد جديد يصف ما تريده ، بما في ذلك المدخلات والمخرجات وما إلى ذلك.

تضمين التغريدة

هناك بالفعل واحد مفتوح بالوظيفة التي أسعى إليها: https://github.com/beautify-web/js-beautify/issues/1125

لقد قمت للتو بتثبيت هذا وأتلقى مشكلة المسافة البادئة مع grunt والخيار التالي: wrapAttributes: 'force-expand-multiline'
أنا أقوم بتشغيل v1.7.5
شكر

هل تواجه هذه المشكلة أيضًا مع 'force-expand-multiline' أي تحديثات؟

الحصول على هذه المشكلة أيضًا مع "force-expand-multiline"

تضمين التغريدة
هل جربت هذا باستخدام 1.8.0-rc2؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات