zacharytamas / atom-django

Build Django apps faster with Atom.
29 stars 15 forks source link

Django files are all opening as Python files instead of Django Python #17

Open lymanjohnson opened 4 years ago

lymanjohnson commented 4 years ago

I'm not really sure what changed; I haven't installed any new packages or anything like that. But suddenly django files are opening with pure Python syntax and I need to manually tell it to read them as Python Django, individually every time I open one.

How do I tell it to start detecting it again?

Here is what the atom-django cson file looks like (packages/atom-django/grammars/python django.cson)

'fileTypes': []
'name': 'Python Django'
'patterns': [
  # Model Field Types
  {
    'begin': '(meta|models)(\\.)(AutoField|BigIntegerField|BinaryField|BooleanField|CharField|CommaSeparatedIntegerField|DateField|DateTimeField|DecimalField|DurationField|EmailField|FileField|FilePathField|FloatField|ImageField|IntegerField|IPAddressField|GenericIPAddressField|NullBooleanField|PositiveIntegerField|PositiveSmallIntegerField|SlugField|SmallIntegerField|TextField|TimeField|URLField|UUIDField|ForeignKey|ManyToManyField|OneToOneField)'
    'beginCaptures':
      '1':
        'name': 'support.class.django.model'
      '3':
        'name': 'support.class.django.model'
    'end': '(\\))'
    'patterns': [
      {
        'include': '#function-call-arguments'
      }
    ]
  }

  # Form Field Types
  {
    'begin': '(forms)(\\.)(BooleanField|CharField|ChoiceField|TypedChoiceField|DateField|DateTimeField|DecimalField|DurationField|EmailField|FileField|FilePathField|FloatField|ImageField|IntegerField|IPAddressField|GenericIPAddressField|MultipleChoiceField|TypedMultipleChoiceField|NullBooleanField|RegexField|SlugField|TimeField|URLField|UUIDField|ComboField|MultiValueField|SplitDateTimeField|ModelChoiceField|ModelMultipleChoiceField)'
    'beginCaptures':
      '1':
        'name': 'support.class.django.form'
      '3':
        'name': 'support.class.django.form'
    'end': '(\\))'
    'patterns': [
      {
        'include': '#function-call-arguments'
      }
    ]
  }

  # Shortcut functions
  {
    'match': '(render_to_response|render|redirect|get_object_or_404|get_list_or_404|resolve_url)'
    'name': 'support.function.django.shortcuts'
  }

  # Settings constants
  {
    'match': '(DEBUG|TEMPLATE_DEBUG|DEBUG_PROPAGATE_EXCEPTIONS|USE_ETAGS|ADMINS|INTERNAL_IPS|ALLOWED_HOSTS|TIME_ZONE|USE_TZ|LANGUAGE_CODE|LANGUAGES|LANGUAGES_BIDI|USE_I18N|LOCALE_PATHS|LANGUAGE_COOKIE_NAME|LANGUAGE_COOKIE_AGE|LANGUAGE_COOKIE_DOMAIN|LANGUAGE_COOKIE_PATH|USE_L10N|MANAGERS|DEFAULT_CONTENT_TYPE|DEFAULT_CHARSET|FILE_CHARSET|SERVER_EMAIL|DATABASES|DATABASE_ROUTERS|EMAIL_BACKEND|EMAIL_HOST|EMAIL_PORT|EMAIL_HOST_USER|EMAIL_HOST_PASSWORD|EMAIL_USE_TLS|EMAIL_USE_SSL|EMAIL_SSL_CERTFILE|EMAIL_SSL_KEYFILE|EMAIL_TIMEOUT|INSTALLED_APPS|TEMPLATE_DIRS|TEMPLATE_LOADERS|TEMPLATE_CONTEXT_PROCESSORS|TEMPLATE_STRING_IF_INVALID|TEMPLATES|DEFAULT_FROM_EMAIL|EMAIL_SUBJECT_PREFIX|APPEND_SLASH|PREPEND_WWW|FORCE_SCRIPT_NAME|DISALLOWED_USER_AGENTS|ABSOLUTE_URL_OVERRIDES|ALLOWED_INCLUDE_ROOTS|IGNORABLE_404_URLS|SECRET_KEY|DEFAULT_FILE_STORAGE|MEDIA_ROOT|MEDIA_URL|STATIC_ROOT|STATIC_URL|FILE_UPLOAD_HANDLERS|FILE_UPLOAD_MAX_MEMORY_SIZE|FILE_UPLOAD_TEMP_DIR|FILE_UPLOAD_PERMISSIONS|FILE_UPLOAD_DIRECTORY_PERMISSIONS|FORMAT_MODULE_PATH|DATE_FORMAT|DATETIME_FORMAT|TIME_FORMAT|YEAR_MONTH_FORMAT|MONTH_DAY_FORMAT|SHORT_DATE_FORMAT|SHORT_DATETIME_FORMAT|DATE_INPUT_FORMATS|TIME_INPUT_FORMATS|DATETIME_INPUT_FORMATS|FIRST_DAY_OF_WEEK|DECIMAL_SEPARATOR|USE_THOUSAND_SEPARATOR|NUMBER_GROUPING|THOUSAND_SEPARATOR|DEFAULT_TABLESPACE|DEFAULT_INDEX_TABLESPACE|X_FRAME_OPTIONS|USE_X_FORWARDED_HOST|WSGI_APPLICATION|SECURE_PROXY_SSL_HEADER|MIDDLEWARE_CLASSES|SESSION_CACHE_ALIAS|SESSION_COOKIE_NAME|SESSION_COOKIE_AGE|SESSION_COOKIE_DOMAIN|SESSION_COOKIE_SECURE|SESSION_COOKIE_PATH|SESSION_COOKIE_HTTPONLY|SESSION_SAVE_EVERY_REQUEST|SESSION_EXPIRE_AT_BROWSER_CLOSE|SESSION_ENGINE|SESSION_FILE_PATH|SESSION_SERIALIZER|CACHES|CACHE_MIDDLEWARE_KEY_PREFIX|CACHE_MIDDLEWARE_SECONDS|CACHE_MIDDLEWARE_ALIAS|AUTH_USER_MODEL|AUTHENTICATION_BACKENDS|LOGIN_URL|LOGOUT_URL|LOGIN_REDIRECT_URL|PASSWORD_RESET_TIMEOUT_DAYS|PASSWORD_HASHERS|SIGNING_BACKEND|CSRF_FAILURE_VIEW|CSRF_COOKIE_NAME|CSRF_COOKIE_AGE|CSRF_COOKIE_DOMAIN|CSRF_COOKIE_PATH|CSRF_COOKIE_SECURE|CSRF_COOKIE_HTTPONLY|MESSAGE_STORAGE|LOGGING_CONFIG|LOGGING|DEFAULT_EXCEPTION_REPORTER_FILTER|TEST_RUNNER|TEST_NON_SERIALIZED_APPS|FIXTURE_DIRS|STATICFILES_DIRS|STATICFILES_STORAGE|STATICFILES_FINDERS|MIGRATION_MODULES|SILENCED_SYSTEM_CHECKS|SECURE_BROWSER_XSS_FILTER|SECURE_CONTENT_TYPE_NOSNIFF|SECURE_HSTS_INCLUDE_SUBDOMAINS|SECURE_HSTS_SECONDS|SECURE_REDIRECT_EXEMPT|SECURE_SSL_HOST|SECURE_SSL_REDIRECT)'
    'name': 'support.constant.django.settings'
  }

  {
    'include': 'source.python'
  }
]

# This is copied from the language-python package, could not find a way to
# include repository from a included/another grammar
'repository':
  'keyword_arguments':
    'begin': '\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(=)(?!=)'
    'beginCaptures':
      '1':
        'name': 'variable.parameter.function.python'
      '2':
        'name': 'keyword.operator.assignment.python'
    'end': '\\s*(?:(,)|(?=$\\n?|[\\)\\:]))'
    'endCaptures':
      '1':
        'name': 'punctuation.separator.parameters.python'
    'patterns': [
      {
        'include': '$self'
      }
    ]
  'function-call-arguments':
    'begin': '(\\()'
    'beginCaptures':
      '1':
        'name': 'punctuation.definition.arguments.begin.python'
    'contentName': 'meta.function-call.arguments.python'
    'end': '(?=\\))'
    'patterns': [
      {
        'include': '#keyword_arguments'
      }
      {
        'include': 'source.python'
      }
    ]

'scopeName': 'source.python.django'

Attached is a pic of the settings page

Screen Shot 2020-10-03 at 2 37 39 PM

Rprabudeva commented 3 years ago

i like to contribute.