vscode-styled-components icon indicating copy to clipboard operation
vscode-styled-components copied to clipboard

Highlighting breaks after props and css`` function usage

Open andre-lergier opened this issue 1 year ago • 3 comments

After the usage of styling within css function (ThemedCssFunction) the syntax highlighting breaks.

Here an example with a simple Text component for a Typescript Next.js application.

Correct Highlighting: image

Highlighting after prop based css`` styling: image

Here's the code to copy:

import styled, { css } from 'styled-components';

export interface TextProps {
  children: React.ReactNode;
  as?: 'p' | 'span';
  dark?: boolean;
}

export const StyledText = styled.p<TextProps>`
  line-height: 1.7;

  &:last-of-type {
    margin-bottom: 0;
  }

  ${({ dark }) =>
    dark &&
    css`
      color: black;
    `}
`;

export function Text({ children, as = 'p', dark = false }: TextProps) {
  return (
    <div>
      <StyledText as={as} dark={dark}>
        {children}
        <span>Test</span>
      </StyledText>
    </div>
  );
}

If I use an inline syntax, the highlighting still works. In situations where you have multiple css rules to apply based on a prop I prefer using the css`` block. image


Environment:

  • OS: macOS Ventura 13.3.1
  • VSCode Version: 1.77.3
  • Extension Version: 5.3.10
  • Typescript Version: 5.0.4

andre-lergier avatar May 04 '23 08:05 andre-lergier

Has it been fixed or found work around (except deleting css before quotes)?

Vladyslav-Yamko avatar Jun 01 '23 14:06 Vladyslav-Yamko

Doing something like this:

  ${({ dark }) =>
    dark &&
    css`
      color: black;
    `}
    /* comment fixes highlight below */

GuskiS avatar Jul 06 '23 09:07 GuskiS

Not only for css but any instance that contains TypeScript props will break all the highlighting. image And this goes all the way to the end of the file.

carlos-algms avatar Jul 27 '23 13:07 carlos-algms