카테고리 보관물: 21세기소년

(파이썬) 색이 있는 문자열 출력하기

터미널 상에 결과를 찍어주는 간단한 프로그램을 만들 때,  특정 단어나 문장에 색을 넣어 출력하고 싶을 때가 있다. 이를 위한 Colorama 라는 패키지도 따로 있기는 한데, 사실 터미널에서 색을 입혀서 출력하는 것은 ANSI 제어 문자를 이용해서 할 수 있는 부분이라 직접 만들어 보기로 한다.

계속 읽기

(vim) scss 파일을 자동으로 컴파일하게 하기

scss 파일을 저장할 때 자동으로 컴파일 해주는 기능을 만들어보자. vim8의 비동기IO를 이용해서 스무스하게 진행될 수 있게끔 했다. 컴파일은 sassc에 의존하며 이는 파이썬 pip를 이용해서 libsass를 설치하면 얻을 수 있다.

먼저 비동기 처리를 완료한 후 처리할 콜백함수와, 비동기로 컴파일 명령을 실행하는 두 함수를 작성한다.

function! CB_compile_scss(channel, msg)
    echom 'Compilation completed'
    echom a:msg
endfunction

function CompileSCSS()
    let cname = expand('%')
    let fname = expand('%<') . '.css'
    let command = 'sassc ' . cname . ' ' . fname
    echom 'start compile ' . cname
    job = job_start(command, {'callback': 'CB_compile_scss' })
endfunction

이 함수를 vimrc 등에 정의해놓고 다음과 같이 자동명령을 설정한다.

au! BufWritePost *.scss call CompileSCSS()

끝.